Commit Graph

556008 Commits

Author SHA1 Message Date
Jeff Gilbert
2e54682899 Bug 1322746 - Mark mp4->webgl as fast on Mac.
MozReview-Commit-ID: FgnmIJZQyex
2017-09-02 21:52:36 -07:00
Jeff Gilbert
5c0f0feb19 Bug 1322746 - dom/base/test/test_anonymousContent_canvas.html should not assume webgl works. - r=daoshengmu
MozReview-Commit-ID: 7oEK4pWMCdc
2017-09-02 21:52:33 -07:00
Jeff Gilbert
d0d2a623db Bug 1322746 - Disable webgl reftest on Android. - r=dvander
WebGL isn't starting on Android slaves, likely since we made vertex_array_object mandatory in this bug.

MozReview-Commit-ID: ILFGnxWDBWn
2017-09-02 21:52:30 -07:00
Jeff Gilbert
fd8d97161e Bug 1322746 - Fix android blitting. - r=daoshengmu
MozReview-Commit-ID: F9qm5XtPUoE
2017-09-02 21:52:28 -07:00
Jeff Gilbert
daa61bbdbe Bug 1322746 - Explicitly reject D3D9_RGB32_TEXTURE for fast blitting.
MozReview-Commit-ID: JA683emuAzX
2017-09-02 21:52:25 -07:00
Jeff Gilbert
2079c15795 Bug 1322746 - Add extern decls for DrawBlitProg::Key. - r=daoshengmu
MozReview-Commit-ID: CZSOmThJSbj
2017-09-02 21:52:22 -07:00
Jeff Gilbert
62f11c8d02 Bug 1322746 - Support blit from IOSurfaces. - r=mattwoodrow
MozReview-Commit-ID: K4aHyOjQXfP
2017-09-02 21:52:19 -07:00
Jeff Gilbert
8a890b29aa Bug 1322746 - Support PLANAR_YCBCR, GPU_VIDEO, and D3D11_YCBCR_IMAGE in GLBlitHelper. - r=jerry
MozReview-Commit-ID: FNsmq0RPvYB
2017-09-02 21:52:16 -07:00
Jeff Gilbert
816740fb9e Bug 1322746 - Add general ID3D11Texture2D to EGLStream support to ANGLE. - r=jerry
Also expose NV12 support, selecting Y or UV planes with EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG.

MozReview-Commit-ID: IYzPAFEc84d
2017-09-02 21:52:13 -07:00
Jeff Gilbert
e8ed9905f9 Bug 1322746 - Expose DXGI HANDLEs for GPU_VIDEO. - r=mattwoodrow
MozReview-Commit-ID: Aea0xGesaQi
2017-09-02 21:52:10 -07:00
jason laster
57dcc284a2 Bug 1395396 - Update Debugger frontend (8/30/2017). r=jdescottes
MozReview-Commit-ID: 9etCxtC3nLz

--HG--
extra : rebase_source : 1b05fa53054d7474a5d495f6046ba2a235f18fa4
2017-09-01 13:14:41 -04:00
Sebastian Hengst
db32360aee merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JSoz8HEv6SN
2017-09-03 00:00:19 +02:00
Sebastian Hengst
1e3decfe89 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IJFJDq7fSkx
2017-09-02 23:59:24 +02:00
Sebastian Hengst
3528754b01 Backed out changeset d2305bd57a97 (bug 1393140) for changed behavior on request from jorgk. r=backout a=backout
MozReview-Commit-ID: HGulTnPx6TF
2017-09-02 23:48:23 +02:00
Gabriel Luong
445b58fdd1 Bug 1395997 - Use the photon styles for the DevTools splitter color. r=pbro 2017-09-02 13:40:09 -04:00
ffxbld
e377ab3c1a No bug, Automated HPKP preload list update from host bld-linux64-spot-306 - a=hpkp-update 2017-09-02 10:25:38 -07:00
ffxbld
90e3618163 No bug, Automated HSTS preload list update from host bld-linux64-spot-306 - a=hsts-update 2017-09-02 10:25:35 -07:00
Sebastian Hengst
4d0bad92dd merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Gsw48p934sI
2017-09-02 10:54:44 +02:00
Phil Ringnalda
086c3155bc Backed out 5 changesets (bug 1277338) for a microscopic speck of flake8 lint
Backed out changeset a8ae266cd61e (bug 1277338)
Backed out changeset b00ca2e7bda4 (bug 1277338)
Backed out changeset 40d0eefb1b5a (bug 1277338)
Backed out changeset ec92904a27cf (bug 1277338)
Backed out changeset 8ee31bf579fc (bug 1277338)

MozReview-Commit-ID: DLI8N9xhSxq

--HG--
rename : third_party/rust/bindgen-0.29.0/.github/ISSUE_TEMPLATE.md => third_party/rust/bindgen/.github/ISSUE_TEMPLATE.md
rename : third_party/rust/bindgen-0.29.0/.travis.yml => third_party/rust/bindgen/.travis.yml
rename : third_party/rust/bindgen-0.29.0/CONTRIBUTING.md => third_party/rust/bindgen/CONTRIBUTING.md
rename : third_party/rust/bindgen-0.29.0/LICENSE => third_party/rust/bindgen/LICENSE
rename : third_party/rust/bindgen-0.29.0/README.md => third_party/rust/bindgen/README.md
rename : third_party/rust/bindgen-0.29.0/appveyor.yml => third_party/rust/bindgen/appveyor.yml
rename : third_party/rust/bindgen-0.29.0/book/book.toml => third_party/rust/bindgen/book/book.toml
rename : third_party/rust/bindgen-0.29.0/book/src/SUMMARY.md => third_party/rust/bindgen/book/src/SUMMARY.md
rename : third_party/rust/bindgen-0.29.0/book/src/blacklisting.md => third_party/rust/bindgen/book/src/blacklisting.md
rename : third_party/rust/bindgen-0.29.0/book/src/chapter_1.md => third_party/rust/bindgen/book/src/chapter_1.md
rename : third_party/rust/bindgen-0.29.0/book/src/command-line-usage.md => third_party/rust/bindgen/book/src/command-line-usage.md
rename : third_party/rust/bindgen-0.29.0/book/src/cpp.md => third_party/rust/bindgen/book/src/cpp.md
rename : third_party/rust/bindgen-0.29.0/book/src/customizing-generated-bindings.md => third_party/rust/bindgen/book/src/customizing-generated-bindings.md
rename : third_party/rust/bindgen-0.29.0/book/src/introduction.md => third_party/rust/bindgen/book/src/introduction.md
rename : third_party/rust/bindgen-0.29.0/book/src/library-usage.md => third_party/rust/bindgen/book/src/library-usage.md
rename : third_party/rust/bindgen-0.29.0/book/src/nocopy.md => third_party/rust/bindgen/book/src/nocopy.md
rename : third_party/rust/bindgen-0.29.0/book/src/opaque.md => third_party/rust/bindgen/book/src/opaque.md
rename : third_party/rust/bindgen-0.29.0/book/src/replacing-types.md => third_party/rust/bindgen/book/src/replacing-types.md
rename : third_party/rust/bindgen-0.29.0/book/src/requirements.md => third_party/rust/bindgen/book/src/requirements.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-0.md => third_party/rust/bindgen/book/src/tutorial-0.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-1.md => third_party/rust/bindgen/book/src/tutorial-1.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-2.md => third_party/rust/bindgen/book/src/tutorial-2.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-3.md => third_party/rust/bindgen/book/src/tutorial-3.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-4.md => third_party/rust/bindgen/book/src/tutorial-4.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-5.md => third_party/rust/bindgen/book/src/tutorial-5.md
rename : third_party/rust/bindgen-0.29.0/book/src/tutorial-6.md => third_party/rust/bindgen/book/src/tutorial-6.md
rename : third_party/rust/bindgen-0.29.0/book/src/using-unions.md => third_party/rust/bindgen/book/src/using-unions.md
rename : third_party/rust/bindgen-0.29.0/book/src/whitelisting.md => third_party/rust/bindgen/book/src/whitelisting.md
rename : third_party/rust/bindgen-0.29.0/ci/assert-docs.sh => third_party/rust/bindgen/ci/assert-docs.sh
rename : third_party/rust/bindgen-0.29.0/ci/assert-no-diff.bat => third_party/rust/bindgen/ci/assert-no-diff.bat
rename : third_party/rust/bindgen-0.29.0/ci/assert-no-diff.sh => third_party/rust/bindgen/ci/assert-no-diff.sh
rename : third_party/rust/bindgen-0.29.0/ci/assert-rustfmt.sh => third_party/rust/bindgen/ci/assert-rustfmt.sh
rename : third_party/rust/bindgen-0.29.0/ci/before_install.sh => third_party/rust/bindgen/ci/before_install.sh
rename : third_party/rust/bindgen-0.29.0/ci/deploy-book.sh => third_party/rust/bindgen/ci/deploy-book.sh
rename : third_party/rust/bindgen-0.29.0/ci/no-includes.sh => third_party/rust/bindgen/ci/no-includes.sh
rename : third_party/rust/bindgen-0.29.0/ci/test-book.sh => third_party/rust/bindgen/ci/test-book.sh
rename : third_party/rust/bindgen-0.29.0/ci/test.bat => third_party/rust/bindgen/ci/test.bat
rename : third_party/rust/bindgen-0.29.0/ci/test.sh => third_party/rust/bindgen/ci/test.sh
rename : third_party/rust/bindgen-0.29.0/example-graphviz-ir.png => third_party/rust/bindgen/example-graphviz-ir.png
rename : third_party/rust/bindgen-0.29.0/rustfmt.toml => third_party/rust/bindgen/rustfmt.toml
rename : third_party/rust/bindgen-0.29.0/src/uses.rs => third_party/rust/bindgen/src/uses.rs
rename : third_party/rust/clap-2.24.2/appveyor.yml => third_party/rust/clap/appveyor.yml
rename : third_party/rust/thread-id/license-apache => third_party/rust/thread-id/license
2017-09-01 22:32:40 -07:00
Phil Ringnalda
72a1482137 Backed out 14 changesets (bug 1322746) for unexpected passes on Win8
Backed out changeset a10fcb139377 (bug 1322746)
Backed out changeset 992b2173bda7 (bug 1322746)
Backed out changeset 88a28c4ebc6b (bug 1322746)
Backed out changeset c5bd6bbf5653 (bug 1322746)
Backed out changeset 882cd05b7064 (bug 1322746)
Backed out changeset 87e7f25a089c (bug 1322746)
Backed out changeset 2ed5b75a6f5e (bug 1322746)
Backed out changeset 6d1dd5775850 (bug 1322746)
Backed out changeset b97bb7a2e555 (bug 1322746)
Backed out changeset ab8352ffd2ca (bug 1322746)
Backed out changeset a4901ec3c327 (bug 1322746)
Backed out changeset 61c7478af98c (bug 1322746)
Backed out changeset b202e9377e24 (bug 1322746)
Backed out changeset cf739e7c76b8 (bug 1322746)

MozReview-Commit-ID: CesCbY4ABvS
2017-09-01 22:28:49 -07:00
Zibi Braniecki
fff3291681 Bug 1396177 - Do not clobber the langpack in l10n-check. r=aki
MozReview-Commit-ID: HMYpE2mLPtI

--HG--
extra : rebase_source : 2ee4e48da5202823ecfb426a7d69d5121fcaaba5
2017-09-01 20:28:33 -07:00
Gabriel Luong
1b014ccabc Bug 1391003 - Use the new photon line selection and hover background colors in devtool. r=bgrins 2017-09-01 10:47:11 -04:00
Jan Henning
f016055d3b Bug 1395486 followup. Clobber to fix packaging failure for Android builds. r=clobber
For the underlying problem, see bug 1395286.
2017-09-02 13:46:34 +02:00
Chih-Yi Leu
92a212a53b Bug 1319160 - Remove redundant webgl disjoint timer extension mochitest r=jgilbert
MozReview-Commit-ID: GCUNxcIiF8F

--HG--
extra : rebase_source : e6d7386320d14d6b87eb27b7f0010eace0fd6be5
2017-09-01 11:41:47 +08:00
Emilio Cobos Álvarez
70950bfcb1 Bug 1396048: Mark system-metrics-1.html as passing. r=me
MozReview-Commit-ID: Bg33Xa1GenR
2017-09-02 13:58:12 +02:00
Kaku Kuo
a79890cbb6 Bug 1393399 P5 - report the recovery time telemetry; r=gerald
MozReview-Commit-ID: 3Z0Esl1F6fV

--HG--
extra : rebase_source : a0c88bfdf53e17fdebb9d0b33457ce649ba54a7c
2017-08-31 18:02:06 +08:00
Kaku Kuo
8a35a5cc36 Bug 1393399 P4 - implement GPUProcessCrashTelemetryLogger helper class; r=gerald
GPUProcessCrashTelemetryLogger is used to report telemetry of the time used to recover a decoder from GPU crash.

It uses MediaDecoderOwnerID to identify which video we're dealing with.
It uses MediaDataDecoderID to make sure that the old MediaDataDecoder has been deleted and we're already recovered.
It reports two recovery times, one is calculated from GPU crashed (that is, the time when VideoDecoderChild::ActorDestory() is called) and the other is calculated from the MFR is notified with NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER error.

MozReview-Commit-ID: 82BRc2Vs3cw

--HG--
extra : rebase_source : 8c92501f625d44e9391a2432b98842769ed8a199
2017-08-31 17:56:17 +08:00
Kaku Kuo
e738871d59 Bug 1393399 P3 - keep the MediaDecoderOwner's identification in MFR; r=gerald
When GPU process crashes, the MediaDecoder, MDSM, and MFR are all destroyed.
So, we use MediaDecoderOwner to identify which video we're dealing with.

MozReview-Commit-ID: 1cv08M7Cpcf

--HG--
extra : rebase_source : 62f7be874d97a58eb4c1d7a98b4e9fe83a9313d3
2017-08-31 17:31:51 +08:00
Kaku Kuo
15e39cee1b Bug 1393399 P2 - keep the GPU process crash time and send back to MFR; r=gerald
We keep the GPU crash time and send back to MFR through MediaResult.

We cannot save the information in VideoDecoderChild as a static member because we are going to read it in MFR's task queue and the data was written in VideoDecoderManager's thread. This is going to be racing.

MozReview-Commit-ID: FXqOgelWY6e

--HG--
extra : rebase_source : 5c0561e009ad16983e1ff910216f9cf7901b5542
2017-08-31 17:21:28 +08:00
Kaku Kuo
5a09d32a1e Bug 1393399 P1 - add telemetry probes; r=francois,gerald
Here, we calculate the recovery time from two different start points because that when GPU crashes, VideoDecoderChild::ActorDestory() is called, but VideoDecoderChild doesn't dispatch events to trigger decoder recreation immediately.
Instead, it waits until a new VideoDecoderManager has been recreated [1], and then rejects all pending promises to MFR with a NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER, which triggers playback pipeline recreation.

These two probes help us to know the gap between "GPU crash" and "MFR is notified". We don't need to wait for VideoDecoderManager recreation if we're certain that we don't create remote video decoder anymore. And if the gap is large, it might be a significant optimization.

[1] http://searchfox.org/mozilla-central/rev/51b3d67a5ec1758bd2fe7d7b6e75ad6b6b5da223/dom/media/ipc/VideoDecoderChild.cpp#124-145

MozReview-Commit-ID: DcI2CwWORxZ

--HG--
extra : rebase_source : 2f69330b9721cd4d6895f93b3a3cbc740de54e8c
2017-09-01 11:00:44 +08:00
Mike Hommey
e8e9ecbd5d Bug 1395776 - Make _recalloc, _expand and _msize go through replace-malloc when enabled. r=njn
--HG--
extra : rebase_source : 454d6dc58681a9bde3564216d013746c0f189add
2017-08-31 14:17:49 +09:00
Mike Hommey
551fcf616e Bug 1395776 - Share the posix_memalign, aligned_alloc and valloc implementations between mozjemalloc and replace-malloc. r=njn
--HG--
extra : rebase_source : ed41b23993cdee89d28b835ee0ee196c15977427
2017-08-31 14:17:19 +09:00
Mike Hommey
e77f51a721 Bug 1395776 - Fold replace-malloc into mozjemalloc. r=njn
Add the MPL 2.0 license header per bug 1395449.

--HG--
extra : rebase_source : c85544a178aba7e77b5b8031851b8e16b22a3848
2017-08-31 12:02:01 +09:00
Mike Hommey
24484e3284 Bug 1395776 - Remove useless goto. r=njn
--HG--
extra : rebase_source : 760898d1521d2c27658e0494677cfecd0375894f
2017-08-31 11:47:22 +09:00
Mike Hommey
89443bb39f Bug 1395776 - Add a level of indirection on top of mozjemalloc. r=njn
Practically speaking, with code inlining, this doesn't change anything,
but will allow, in a subsequent change, to easily divert the exported
allocation functions (malloc, etc.) in order to inject replace-malloc
in the pipeline.

The added macro magic is copied from replace-malloc.c.

At the same time, reformat the functions we're touching.

--HG--
extra : rebase_source : f615909101f832f3cc471e23a3cc44a60886843f
2017-08-31 10:29:11 +09:00
Mike Hommey
dfc6786a68 Bug 1395776 - Move usable_ptr_t definition to mozjemalloc_types.h. r=njn
Because malloc_decls.h is meant to be included multiple times, it
shouldn't actually declare things itself.

--HG--
extra : rebase_source : 9d6f9b2c61407265377845963a19ace2614160f4
2017-08-31 09:51:23 +09:00
Mike Hommey
72d9b36a8c Bug 1395776 - Uniformize valloc implementations in replace-malloc and mozjemalloc. r=njn
valloc is supposed to page-align data, but mozjemalloc's definition of
pagesize is statically compiled in and might not match the actual page
size at runtime (because of MALLOC_STATIC_SIZES). We change valloc in
mozjemalloc to use the runtime page size.

--HG--
extra : rebase_source : c5b1b56e783b311ac1620a87d910e019e3f18b49
2017-08-31 11:36:09 +09:00
Mike Hommey
b0303d9e77 Bug 1395776 - Uniformize posix_memalign implementations in replace-malloc and mozjemalloc. r=njn
--HG--
extra : rebase_source : bbbee18feef2d11b71d5d5a48e98017bfae78722
2017-08-31 11:35:24 +09:00
Glenn Watson
db2d96787b servo: Merge #18339 - Update WR (mac driver crash, box shadow sharing) (from glennw:update-wr-misc); r=jdm
* Works around a driver / kernel crash on some mac machines.
* Allow more sharing of box shadow and clip render tasks.
* Some shader tidy ups.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e3c8dee71214b5244431de64f65b5a1f71c0108

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e2eeb653097659da42e2c3daf4d7139172785bbf
2017-09-01 21:42:28 -05:00
Joone Hur
ab50beb8a1 servo: Merge #18242 - Implement Ellipse Canvas 2D API (from joone:ellipse); r=jdm
This patch needs to update rust-azure to 0.21.0.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #17598

<!-- Either: -->
- [] There are tests for these changes OR
- [] These changes do not require tests because _____

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a4b98ad38214495ac0f1f1aa1052f0c583ffe5c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5650f24356c24ee80c4ca4e9560c75c6a6813ccd
2017-09-01 20:25:57 -05:00
Mark Hammond
5f4d03ee95 Bug 1391488 - catch and ignore errors fetching the hostname from the DNS service. r=kitcambridge
MozReview-Commit-ID: 5hTDNmzTXdQ

--HG--
extra : rebase_source : 4565d13941fd167d81420e639e7ebc37f94a3a8f
2017-09-01 16:48:24 +10:00
Jim Chen
2ec8c3aaff Bug 1378410 - 3. Update generated bindings; r=jchen
MozReview-Commit-ID: fKCoCqFmZk

--HG--
extra : rebase_source : a619627530b5216e591682f18f887ae2797cfeb7
2017-09-01 14:02:44 -04:00
Jim Chen
eec1c8ca82 Bug 1378410 - 2. Preprocess generated bindings; r=nalexander
Preprocess the generated bindings to support the new BuildFlag
annotation, so that we can compare bindings despite build flag changes.

The build system preprocessor is used because it's easy-to-use and
invoking the actual C++ preprocessor would require much more work.
However, as a result, we use a MOZ_PREPROCESSOR macro to make the build
system preprocessor not handle `#include` lines in the binding files.

MozReview-Commit-ID: 3Gweuwnb1V3

--HG--
extra : rebase_source : 3a1769e4b45bab3175b3609d08e53534380facce
2017-09-01 14:02:44 -04:00
Jim Chen
c3c2bfc408 Bug 1378410 - 2a. Expose set to moz.build sandbox; r=gps
To construct an empty set, we need to use the `set()` notation. In order
to do that, we need to expose `set` to the moz.build sandbox.

MozReview-Commit-ID: DMyKnF0FEx2

--HG--
extra : rebase_source : 5cfe8080ec333a1eca70cd3edba2aaaff6406820
2017-09-01 14:02:30 -04:00
Jim Chen
f0ca31be3a Bug 1378410 - 1. Support BuildFlag annotation for generated bindings; r=snorp
Add a BuildFlag annotation, which when specified for classes, will wrap
generated code in `#ifdef` or `#ifndef` blocks. This functionality is
used for conditionally excluding generated code when NIghtly becomes
Beta, without the need to regenerate bindings.

MozReview-Commit-ID: L2NFM8CHKqF

--HG--
extra : rebase_source : 6ebc82d11fd1aa4aeb57a46262e678480d23de83
2017-09-01 14:02:29 -04:00
Manish Goregaokar
b0873633b7 servo: Merge #18335 - stylo: Compute font-size calcs against appropriate base size (from Manishearth:stylo-calc-anim); r=birtles
r=birtles https://bugzilla.mozilla.org/show_bug.cgi?id=1394302

Source-Repo: https://github.com/servo/servo
Source-Revision: 60daf543524e6c5e6dfb5e309ceae638425f010d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f8d2fd56656732f8ae4512d2718d32cfa7f21871
2017-09-01 19:17:03 -05:00
Xidorn Quan
d57b5bd646 Bug 1388911 - Update expectation for this bug after landing servo/servo#18336.
MozReview-Commit-ID: EMKg34csW4l
2017-09-02 11:02:19 +10:00
Michael Comella
196f5f016f Bug 1388377: Add highlights empty state. r=liuche
MozReview-Commit-ID: 1M1nqWSoER3

--HG--
extra : rebase_source : 4c84e431baac1a64876bede36d05c0d3399b0f63
2017-08-31 15:21:43 -07:00
Michael Comella
b4266caa6c Bug 1388377: Rm WelcomePanelRow. r=liuche
We show a message:
1) On first run
2) When there are no highlights

However, these are actually the same case (there are no highlights) so I wanted
to defer to that situation.

I felt it was easier to rm the WelcomePanel and rewrite it than it was to try
to morph it into an empty state for the highlights.

MozReview-Commit-ID: CrRbzA0NoRx

--HG--
extra : rebase_source : ed21103350ea13813062e214d3aec22805cfa7d7
2017-08-31 14:39:40 -07:00
Ed Lee
c9c38bf7d6 Bug 1395642 - Add placeholders, finalized 57 strings and bug fixes to Activity Stream. r=dmose
MozReview-Commit-ID: 8x6ez3edtoQ

--HG--
extra : rebase_source : 55820ab30e0408b35e2849c16fafb8daec96cf90
2017-09-01 14:52:57 -07:00