2015-05-07 19:28:10 +00:00
{
"name" : "MultimediaViewer" ,
"author" : [
"Gergő Tisza" ,
2024-06-15 06:52:46 +00:00
"Gilles Dubuc" ,
"Mark Holmquist" ,
"Simon Legner" ,
"Ed Sanders" ,
2015-05-07 19:28:10 +00:00
"Pau Giner" ,
2024-06-15 06:52:46 +00:00
"James D. Forrester" ,
"Željko Filipin" ,
"fomafix" ,
"Volker E" ,
2015-05-07 19:28:10 +00:00
"Kunal Mehta" ,
2024-06-15 06:52:46 +00:00
"Umherirrender" ,
"Timo Tijhof" ,
"Aaron Arcos" ,
"Thiemo Kreuz" ,
"Matthias Mullie" ,
"Jon Robson" ,
"Derk-Jan Hartman" ,
"Chris McMahon" ,
"Bartosz Dziewoński"
2015-05-07 19:28:10 +00:00
] ,
2018-05-25 14:11:59 +00:00
"url" : "https://www.mediawiki.org/wiki/Extension:MultimediaViewer" ,
2015-05-07 19:28:10 +00:00
"descriptionmsg" : "multimediaviewer-desc" ,
2018-03-02 23:26:41 +00:00
"license-name" : "GPL-2.0-or-later" ,
2015-05-07 19:28:10 +00:00
"type" : "other" ,
2018-06-09 07:21:01 +00:00
"requires" : {
2023-11-29 12:39:36 +00:00
"MediaWiki" : ">= 1.42.0"
2018-06-09 07:21:01 +00:00
} ,
2015-05-07 19:28:10 +00:00
"MessagesDirs" : {
"MultimediaViewer" : [
"i18n"
]
} ,
2022-02-06 15:20:58 +00:00
"AutoloadNamespaces" : {
"MediaWiki\\Extension\\MultimediaViewer\\" : "includes/"
2015-05-07 19:28:10 +00:00
} ,
"ResourceModules" : {
"mmv" : {
2023-05-19 20:26:45 +00:00
"packageFiles" : [
"mmv/mmv.js" ,
2015-05-07 19:28:10 +00:00
"mmv/logging/mmv.logging.ViewLogger.js" ,
"mmv/model/mmv.model.License.js" ,
"mmv/model/mmv.model.Image.js" ,
"mmv/model/mmv.model.Thumbnail.js" ,
"mmv/model/mmv.model.TaskQueue.js" ,
"mmv/model/mmv.model.ThumbnailWidth.js" ,
"mmv/provider/mmv.provider.Api.js" ,
"mmv/provider/mmv.provider.ImageInfo.js" ,
"mmv/provider/mmv.provider.ThumbnailInfo.js" ,
"mmv/provider/mmv.provider.GuessedThumbnailInfo.js" ,
"mmv/provider/mmv.provider.Image.js" ,
"mmv/mmv.ThumbnailWidthCalculator.js" ,
"mmv/ui/mmv.ui.js" ,
"mmv/ui/mmv.ui.dialog.js" ,
"mmv/ui/mmv.ui.description.js" ,
"mmv/ui/mmv.ui.viewingOptions.js" ,
"mmv/ui/mmv.ui.canvas.js" ,
"mmv/ui/mmv.ui.canvasButtons.js" ,
"mmv/ui/mmv.ui.permission.js" ,
"mmv/ui/mmv.ui.progressBar.js" ,
"mmv/ui/mmv.ui.stripeButtons.js" ,
"mmv/ui/mmv.ui.truncatableTextField.js" ,
"mmv/ui/mmv.ui.metadataPanel.js" ,
"mmv/ui/mmv.ui.metadataPanelScroller.js" ,
2023-05-19 20:26:45 +00:00
"mmv/mmv.lightboxinterface.js"
2015-05-07 19:28:10 +00:00
] ,
"styles" : [
"mmv/ui/mmv.ui.dialog.less" ,
"mmv/ui/mmv.ui.viewingOptions.less" ,
"mmv/ui/mmv.ui.canvas.less" ,
"mmv/ui/mmv.ui.canvasButtons.less" ,
"mmv/ui/mmv.ui.permission.less" ,
"mmv/ui/mmv.ui.progressBar.less" ,
"mmv/ui/mmv.ui.stripeButtons.less" ,
"mmv/ui/mmv.ui.truncatableTextField.less" ,
"mmv/ui/mmv.ui.metadataPanel.less" ,
"mmv/ui/mmv.ui.metadataPanelScroller.less" ,
"mmv/mmv.lightboxinterface.less"
] ,
"dependencies" : [
"mediawiki.api" ,
"mediawiki.Title" ,
"mediawiki.Uri" ,
"mediawiki.jqueryMsg" ,
2023-03-06 02:34:13 +00:00
"mediawiki.router" ,
2017-06-02 09:29:41 +00:00
"mediawiki.storage" ,
2018-12-05 16:55:01 +00:00
"mediawiki.user" ,
"mediawiki.util" ,
2015-05-07 19:28:10 +00:00
"mmv.bootstrap" ,
2024-06-12 22:59:08 +00:00
"mmv.codex" ,
2015-05-07 19:28:10 +00:00
"mmv.head"
] ,
"messages" : [
2023-05-19 13:06:18 +00:00
"license-header" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-file-page" ,
"multimediaviewer-options-learn-more" ,
"multimediaviewer-options-dialog-header" ,
"multimediaviewer-option-submit-button" ,
"multimediaviewer-option-cancel-button" ,
"multimediaviewer-options-text-header" ,
"multimediaviewer-enable-alert" ,
"multimediaviewer-options-text-body" ,
"multimediaviewer-disable-confirmation-header" ,
"multimediaviewer-disable-confirmation-text" ,
"multimediaviewer-enable-dialog-header" ,
"multimediaviewer-enable-text-header" ,
"multimediaviewer-enable-submit-button" ,
"multimediaviewer-enable-confirmation-header" ,
"multimediaviewer-enable-confirmation-text" ,
2023-05-20 20:20:49 +00:00
"multimediaviewer-file-not-found-error" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-thumbnail-error" ,
"multimediaviewer-thumbnail-error-description" ,
"multimediaviewer-thumbnail-error-retry" ,
"multimediaviewer-report-issue-url" ,
2015-10-22 04:31:47 +00:00
"multimediaviewer-thumbnail-error-report" ,
"multimediaviewer-errorreport-privacywarning" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-download-link" ,
"multimediaviewer-reuse-link" ,
"multimediaviewer-options-tooltip" ,
"multimediaviewer-close-popup-text" ,
"multimediaviewer-fullscreen-popup-text" ,
"multimediaviewer-defullscreen-popup-text" ,
2016-12-09 17:02:49 +00:00
"multimediaviewer-next-image-alt-text" ,
"multimediaviewer-prev-image-alt-text" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-commons-subtitle" ,
"multimediaviewer-credit" ,
"multimediaviewer-credit-fallback" ,
"multimediaviewer-multiple-authors" ,
"multimediaviewer-multiple-authors-combine" ,
"multimediaviewer-datetime-created" ,
"multimediaviewer-datetime-uploaded" ,
"multimediaviewer-permission-link" ,
"multimediaviewer-permission-link-hide" ,
"multimediaviewer-restriction-2257" ,
"multimediaviewer-restriction-aus-reserve" ,
"multimediaviewer-restriction-communist" ,
"multimediaviewer-restriction-costume" ,
"multimediaviewer-restriction-currency" ,
"multimediaviewer-restriction-design" ,
"multimediaviewer-restriction-fan-art" ,
"multimediaviewer-restriction-ihl" ,
"multimediaviewer-restriction-insignia" ,
"multimediaviewer-restriction-ita-mibac" ,
"multimediaviewer-restriction-nazi" ,
"multimediaviewer-restriction-personality" ,
"multimediaviewer-restriction-trademarked" ,
"multimediaviewer-restriction-default" ,
"multimediaviewer-restriction-default-and-others" ,
2014-12-07 10:09:25 +00:00
"multimediaviewer-reuse-warning-deletion" ,
"multimediaviewer-reuse-warning-nonfree" ,
"multimediaviewer-reuse-warning-noattribution" ,
"multimediaviewer-reuse-warning-generic" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-geoloc-north" ,
"multimediaviewer-geoloc-east" ,
"multimediaviewer-geoloc-south" ,
"multimediaviewer-geoloc-west" ,
"multimediaviewer-geoloc-coord" ,
"multimediaviewer-geoloc-coords" ,
"multimediaviewer-geolocation" ,
"multimediaviewer-about-mmv" ,
"multimediaviewer-optout-mmv" ,
"multimediaviewer-optin-mmv" ,
"multimediaviewer-optout-pending-mmv" ,
"multimediaviewer-optin-pending-mmv" ,
"multimediaviewer-optout-help" ,
"multimediaviewer-optin-help" ,
"mypreferences" ,
"multimediaviewer-metadata-error" ,
"multimediaviewer-title-popup-text" ,
"multimediaviewer-credit-popup-text" ,
"multimediaviewer-title-popup-text-more" ,
"multimediaviewer-credit-popup-text-more" ,
"multimediaviewer-permission-title" ,
"multimediaviewer-permission-viewmore" ,
"multimediaviewer-description-page-button-text" ,
"multimediaviewer-description-page-popup-text" ,
"multimediaviewer-repository-local" ,
"multimediaviewer-license-cc-by-1.0" ,
"multimediaviewer-license-cc-sa-1.0" ,
"multimediaviewer-license-cc-by-sa-1.0" ,
"multimediaviewer-license-cc-by-2.0" ,
"multimediaviewer-license-cc-by-sa-2.0" ,
"multimediaviewer-license-cc-by-2.1" ,
"multimediaviewer-license-cc-by-sa-2.1" ,
"multimediaviewer-license-cc-by-2.5" ,
"multimediaviewer-license-cc-by-sa-2.5" ,
"multimediaviewer-license-cc-by-3.0" ,
"multimediaviewer-license-cc-by-sa-3.0" ,
"multimediaviewer-license-cc-by-4.0" ,
"multimediaviewer-license-cc-by-sa-4.0" ,
"multimediaviewer-license-cc-pd" ,
"multimediaviewer-license-cc-zero" ,
"multimediaviewer-license-pd" ,
"multimediaviewer-license-default"
]
} ,
2024-05-22 19:49:26 +00:00
"mmv.codex" : {
"class" : "MediaWiki\\ResourceLoader\\CodexModule" ,
"codexStyleOnly" : true ,
"codexComponents" : [
"CdxButton" ,
"CdxDialog" ,
2024-05-20 19:42:02 +00:00
"CdxProgressBar" ,
2024-05-22 19:49:26 +00:00
"CdxSelect" ,
"CdxTabs" ,
"CdxTextInput"
]
} ,
"mmv.ui.reuse" : {
2023-05-19 14:47:34 +00:00
"packageFiles" : [
2024-05-22 19:49:26 +00:00
"mmv.ui.reuse/index.js" ,
2024-05-23 20:13:50 +00:00
"mmv.ui.reuse/mmv.ui.reuse.dialog.js" ,
"mmv.ui.reuse/mmv.ui.download.dialog.js" ,
2024-05-22 19:49:26 +00:00
"mmv.ui.reuse/mmv.ui.download.pane.js" ,
"mmv.ui.reuse/mmv.ui.reuse.share.js" ,
"mmv.ui.reuse/mmv.ui.reuse.embed.js" ,
"mmv.ui.reuse/mmv.EmbedFileFormatter.js" ,
"mmv.ui.reuse/mmv.ui.utils.js"
2015-05-07 19:28:10 +00:00
] ,
2024-05-23 20:13:50 +00:00
"styles" : [
"mmv.ui.reuse/mmv.ui.reuse.dialog.less" ,
"mmv.ui.reuse/mmv.ui.download.dialog.less"
] ,
2015-05-07 19:28:10 +00:00
"dependencies" : [
2024-05-22 19:49:26 +00:00
"mmv.codex" ,
"mediawiki.user" ,
"mediawiki.widgets"
2015-05-07 19:28:10 +00:00
] ,
"messages" : [
2024-05-04 14:00:17 +00:00
"multimediaviewer-copy-button" ,
2024-05-04 08:11:42 +00:00
"multimediaviewer-default-embed-dimensions" ,
"multimediaviewer-original-embed-dimensions" ,
"multimediaviewer-xl-embed-dimensions" ,
"multimediaviewer-large-embed-dimensions" ,
"multimediaviewer-medium-embed-dimensions" ,
"multimediaviewer-small-embed-dimensions" ,
"multimediaviewer-embed-dimensions" ,
"multimediaviewer-embed-dimensions-separated" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-credit" ,
2015-12-24 20:35:52 +00:00
"multimediaviewer-text-embed-credit-text-bl" ,
"multimediaviewer-text-embed-credit-text-b" ,
"multimediaviewer-text-embed-credit-text-l" ,
"multimediaviewer-html-embed-credit-text-bl" ,
"multimediaviewer-html-embed-credit-text-b" ,
2016-09-04 04:49:58 +00:00
"multimediaviewer-html-embed-credit-text-l" ,
2024-05-07 19:44:59 +00:00
"multimediaviewer-html-embed-credit-link-text" ,
2024-05-22 19:49:26 +00:00
"mw-widgets-copytextlayout-copy-success" ,
2024-05-04 08:11:42 +00:00
"multimediaviewer-download" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-download-preview-link-title" ,
"multimediaviewer-download-attribution-cta-header" ,
2024-05-04 08:11:42 +00:00
"multimediaviewer-download-link" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-download-optional-attribution-cta-header" ,
2016-12-28 16:32:28 +00:00
"multimediaviewer-download-attribution-copy" ,
2024-05-04 08:11:42 +00:00
"multimediaviewer-download-attribution" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-attr-plain" ,
2024-05-22 19:49:26 +00:00
"multimediaviewer-attr-html" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-share-tab" ,
"multimediaviewer-share-explanation" ,
"multimediaviewer-link-to-file" ,
"multimediaviewer-link-to-page" ,
"multimediaviewer-reuse-loading-placeholder" ,
2016-12-22 17:59:07 +00:00
"multimediaviewer-reuse-copy-share" ,
"multimediaviewer-reuse-copy-embed" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-embed-tab" ,
"multimediaviewer-embed-html" ,
"multimediaviewer-embed-wt" ,
"multimediaviewer-embed-explanation" ,
"multimediaviewer-embed-byline" ,
"multimediaviewer-embed-license" ,
2024-05-04 08:11:42 +00:00
"multimediaviewer-embed-via"
2015-05-07 19:28:10 +00:00
]
} ,
2024-05-16 19:21:49 +00:00
"mmv.ui.restriction" : {
"styles" : [
"mmv.ui.restriction/mmv.ui.restriction.less"
]
} ,
2015-05-07 19:28:10 +00:00
"mmv.bootstrap" : {
2023-05-19 20:26:45 +00:00
"packageFiles" : [
"mmv.bootstrap/mmv.bootstrap.js" ,
2024-05-21 18:24:39 +00:00
"mmv.bootstrap/mmv.lightboximage.js" ,
2018-07-01 21:41:47 +00:00
"mmv.bootstrap/mmv.Config.js" ,
2023-05-19 20:26:45 +00:00
"mmv.bootstrap/mmv.HtmlUtils.js"
2015-05-07 19:28:10 +00:00
] ,
"styles" : [
2018-07-01 21:41:47 +00:00
"mmv.bootstrap/mmv.bootstrap.less"
2015-05-07 19:28:10 +00:00
] ,
"dependencies" : [
2024-05-05 11:20:12 +00:00
"mmv.codex" ,
2018-02-03 13:26:17 +00:00
"mediawiki.api" ,
2023-03-06 02:34:13 +00:00
"mediawiki.router" ,
2015-05-07 19:28:10 +00:00
"mediawiki.Title" ,
"mediawiki.user" ,
2017-06-02 09:29:41 +00:00
"mediawiki.storage" ,
2024-05-04 21:26:39 +00:00
"mmv.head"
2015-05-07 19:28:10 +00:00
] ,
"messages" : [
2024-05-20 19:42:02 +00:00
"multimediaviewer-loading" ,
2015-05-07 19:28:10 +00:00
"multimediaviewer-view-expanded" ,
"multimediaviewer-view-config" ,
"multimediaviewer-disable-info-title" ,
"multimediaviewer-disable-info"
]
} ,
"mmv.bootstrap.autostart" : {
2023-05-19 20:26:45 +00:00
"packageFiles" : [
2018-07-01 21:41:47 +00:00
"mmv.bootstrap.autostart/mmv.bootstrap.autostart.js"
2015-05-07 19:28:10 +00:00
] ,
"dependencies" : [
"mmv.head" ,
"mmv.bootstrap"
]
} ,
"mmv.head" : {
2023-05-19 20:26:45 +00:00
"packageFiles" : [
"mmv.head/mmv.head.js" ,
"mmv.head/base.js"
2015-05-07 19:28:10 +00:00
] ,
"dependencies" : [
2017-06-02 09:29:41 +00:00
"mediawiki.user" ,
"mediawiki.storage"
2019-06-03 02:12:54 +00:00
]
2015-05-07 19:28:10 +00:00
}
} ,
"ResourceFileModulePaths" : {
"localBasePath" : "resources" ,
"remoteExtPath" : "MultimediaViewer/resources"
} ,
2019-02-13 23:05:33 +00:00
"QUnitTestModule" : {
"localBasePath" : "" ,
"remoteExtPath" : "MultimediaViewer" ,
2023-05-20 08:30:52 +00:00
"packageFiles" : [
"tests/qunit/mmv/index.js" ,
2019-02-13 23:05:33 +00:00
"tests/qunit/mmv/mmv.bootstrap.test.js" ,
"tests/qunit/mmv/mmv.test.js" ,
"tests/qunit/mmv/mmv.lightboxinterface.test.js" ,
"tests/qunit/mmv/mmv.lightboximage.test.js" ,
"tests/qunit/mmv/mmv.ThumbnailWidthCalculator.test.js" ,
"tests/qunit/mmv/mmv.EmbedFileFormatter.test.js" ,
"tests/qunit/mmv/mmv.Config.test.js" ,
"tests/qunit/mmv/mmv.HtmlUtils.test.js" ,
"tests/qunit/mmv/logging/mmv.logging.ViewLogger.test.js" ,
"tests/qunit/mmv/model/mmv.model.test.js" ,
"tests/qunit/mmv/model/mmv.model.TaskQueue.test.js" ,
"tests/qunit/mmv/model/mmv.model.License.test.js" ,
"tests/qunit/mmv/model/mmv.model.Image.test.js" ,
"tests/qunit/mmv/provider/mmv.provider.Api.test.js" ,
"tests/qunit/mmv/provider/mmv.provider.ImageInfo.test.js" ,
"tests/qunit/mmv/provider/mmv.provider.ThumbnailInfo.test.js" ,
"tests/qunit/mmv/provider/mmv.provider.GuessedThumbnailInfo.test.js" ,
"tests/qunit/mmv/provider/mmv.provider.Image.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.canvas.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.canvasButtons.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.description.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.download.pane.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.metadataPanel.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.metadataPanelScroller.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.progressBar.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.permission.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.stripeButtons.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.reuse.dialog.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.reuse.embed.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.reuse.share.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.reuse.utils.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.truncatableTextField.test.js" ,
"tests/qunit/mmv/ui/mmv.ui.viewingOptions.test.js" ,
"tests/qunit/mmv/mmv.testhelpers.js"
] ,
"dependencies" : [
"mmv.head" ,
"mmv.bootstrap" ,
"mmv" ,
2024-05-22 19:49:26 +00:00
"mmv.ui.reuse"
2019-02-13 23:05:33 +00:00
]
} ,
2015-05-07 19:28:10 +00:00
"Hooks" : {
2023-08-14 18:47:02 +00:00
"UserGetDefaultOptions" : "main" ,
"GetPreferences" : "main" ,
"BeforePageDisplay" : "main" ,
"CategoryPageView" : "main" ,
"ResourceLoaderGetConfigVars" : "main" ,
2021-11-26 11:09:23 +00:00
"MakeGlobalVariablesScript" : "main" ,
2023-08-14 18:47:02 +00:00
"ThumbnailBeforeProduceHTML" : "main"
2015-05-07 19:28:10 +00:00
} ,
2021-11-26 11:09:23 +00:00
"HookHandlers" : {
"main" : {
2022-02-06 15:20:58 +00:00
"class" : "MediaWiki\\Extension\\MultimediaViewer\\Hooks" ,
2021-11-26 11:09:23 +00:00
"services" : [
2023-10-23 20:28:32 +00:00
"MainConfig" ,
2023-10-23 20:14:57 +00:00
"SpecialPageFactory" ,
"UserOptionsLookup"
2024-04-02 19:34:12 +00:00
] ,
"optional_services" : [
"MobileFrontend.Context"
2021-11-26 11:09:23 +00:00
]
}
} ,
2016-04-03 09:18:26 +00:00
"config" : {
"MediaViewerExtensions" : {
2020-05-12 01:03:41 +00:00
"value" : {
"jpg" : "default" ,
"jpeg" : "default" ,
"gif" : "default" ,
"svg" : "default" ,
"png" : "default" ,
"tiff" : "default" ,
2023-01-05 14:23:39 +00:00
"tif" : "default" ,
"webp" : "default"
2020-05-12 01:03:41 +00:00
}
} ,
"MediaViewerUseThumbnailGuessing" : {
2021-12-05 14:36:42 +00:00
"description" : "When this is enabled, MediaViewer will try to guess image URLs instead of making an imageinfo API to get them from the server. This speeds up image loading, but will result in 404s when $wgGenerateThumbnailOnParse (so the thumbnails are only generated as a result of the API request). MediaViewer will catch such 404 errors and fall back to the API request, but depending on how the site is set up, the 404 might get cached, or redirected, causing the image load to fail. The safe way to use URL guessing is with a 404 handler: https://www.mediawiki.org/wiki/Manual:Thumb.php#404_Handler" ,
2020-05-12 01:03:41 +00:00
"value" : false
} ,
"MediaViewerEnableByDefault" : {
2021-12-05 14:36:42 +00:00
"description" : "If true, Media Viewer will be turned on by default." ,
2020-05-12 01:03:41 +00:00
"value" : true
} ,
"MediaViewerEnableByDefaultForAnonymous" : {
2021-12-05 14:36:42 +00:00
"description" : "Overrides $wgMediaViewerEnableByDefault for anonymous users. If set to null, will fall back to value of $wgMediaViewerEnableByDefault" ,
2020-05-12 01:03:41 +00:00
"value" : null
} ,
"MediaViewerImageQueryParameter" : {
2021-12-05 14:36:42 +00:00
"description" : "If set, adds a query parameter to image requests made by Media Viewer" ,
2020-05-12 01:03:41 +00:00
"value" : false
} ,
"MediaViewerRecordVirtualViewBeaconURI" : {
2021-12-05 14:36:42 +00:00
"description" : "If set, records a virtual view via the provided beacon URI." ,
2020-05-12 01:03:41 +00:00
"value" : false
}
2016-04-03 09:18:26 +00:00
} ,
2020-05-12 01:03:41 +00:00
"manifest_version" : 2
2015-05-07 19:28:10 +00:00
}