<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>170547</bug_id>
          
          <creation_ts>2017-04-06 07:04:23 -0700</creation_ts>
          <short_desc>Implement testing mode for disk cache</short_desc>
          <delta_ts>2017-04-21 09:44:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149087</blocked>
    
    <blocked>162945</blocked>
    
    <blocked>162946</blocked>
    
    <blocked>170565</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1294863</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-04-06 07:04:23 -0700</bug_when>
    <thetext>Try to eliminate sources of randomness to make cache tests non-flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294866</commentid>
    <comment_count>1</comment_count>
      <attachid>306380</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-04-06 07:16:19 -0700</bug_when>
    <thetext>Created attachment 306380
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294868</commentid>
    <comment_count>2</comment_count>
      <attachid>306382</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-04-06 07:20:08 -0700</bug_when>
    <thetext>Created attachment 306382
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294872</commentid>
    <comment_count>3</comment_count>
      <attachid>306384</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-04-06 07:37:20 -0700</bug_when>
    <thetext>Created attachment 306384
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294967</commentid>
    <comment_count>4</comment_count>
      <attachid>306384</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 11:32:50 -0700</bug_when>
    <thetext>Comment on attachment 306384
patch

Clearing flags on attachment: 306384

Committed r215044: &lt;http://trac.webkit.org/changeset/215044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294968</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 11:32:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294992</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-06 12:42:54 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295052</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-04-06 14:30:03 -0700</bug_when>
    <thetext>It looks like this caused ios-simulator debug tests to exit early due to assertion failures:
ASSERTION FAILED: Enumerator is not a positive power of two.
hasOneBitSet(static_cast&lt;StorageType&gt;(t))
/Volumes/Data/slave/ios-simulator-10-debug/build/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/OptionSet.h(85) : WTF::OptionSet&lt;WebKit::NetworkCache::Cache::Option&gt;::OptionSet(T) [T = WebKit::NetworkCache::Cache::Option]

https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Debug%20WK2%20(Tests)/r215053%20(431)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295053</commentid>
    <comment_count>8</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-04-06 14:30:50 -0700</bug_when>
    <thetext>Actually, the same is seen on El Capitan:
https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r215044%20(357)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295060</commentid>
    <comment_count>9</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-04-06 14:43:07 -0700</bug_when>
    <thetext>I think Anders may have fixed the issue in https://trac.webkit.org/changeset/215060/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299649</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-04-21 09:44:31 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #9)
&gt; I think Anders may have fixed the issue in
&gt; https://trac.webkit.org/changeset/215060/webkit

Bug 170565: OptionSet options need to be powers of two
&lt;https://bugs.webkit.org/show_bug.cgi?id=170565&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306380</attachid>
            <date>2017-04-06 07:16:19 -0700</date>
            <delta_ts>2017-04-06 07:20:08 -0700</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-testing-mode.patch</filename>
            <type>text/plain</type>
            <size>7526</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTAzNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA0LTA2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBt
b2RlIGZvciBkaXNrIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzA1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEaXNhYmxlIHJlYWQgdGltZW91dHMgYW5kIGNhY2hlIHNocmlua2luZyBpbiBU
ZXN0UnVubmVyIHRvIGVsaW1pbmF0ZSBwb3RlbnRpYWwgc291cmNlcyBvZiByYW5kb21uZXNzLgor
CisgICAgICAgIFRoaXMgaXMgZW5hYmxlZCBieSB0aGUgZXhpc3RpbmcgV0tDb250ZXh0VXNlVGVz
dGluZ05ldHdvcmtTZXNzaW9uIFNQSS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6
OmluaXRpYWxpemUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6Om9wZW4pOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OlN0b3JhZ2UpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c2hyaW5rSWZOZWVkZWQpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1By
b2Nlc3NDb2NvYSk6CisKIDIwMTctMDQtMDYgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggYnVpbGQgd2l0aCBNRURJQV9DQVBU
VVJFIGVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAkocmV2aXNpb24gMjE0OTM3KQorKysgU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgdm9pZCBkdW1wRmlsZUNoYW5nZWQoQ2FjaGUqIGNh
Y2hlCiAKIGJvb2wgQ2FjaGU6OmluaXRpYWxpemUoY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIGNv
bnN0IFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0gICAgbV9zdG9yYWdlID0gU3RvcmFnZTo6
b3BlbihjYWNoZVBhdGgpOworICAgIG1fc3RvcmFnZSA9IFN0b3JhZ2U6Om9wZW4oY2FjaGVQYXRo
LCBwYXJhbWV0ZXJzLmVuYWJsZVRlc3RpbmdNb2RlID8gU3RvcmFnZTo6TW9kZTo6VGVzdGluZyA6
IFN0b3JhZ2U6Ok1vZGU6Ok5vcm1hbCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pCiAgICAgaWYgKHBhcmFtZXRlcnMuZW5hYmxlTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb24pIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCShyZXZpc2lvbiAyMTQ5Mzcp
CisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAko
d29ya2luZyBjb3B5KQpAQCAtOTUsOSArOTUsMTEgQEAgY2xhc3MgQ2FjaGUgewogICAgIGZyaWVu
ZCBjbGFzcyBXVEY6Ok5ldmVyRGVzdHJveWVkPENhY2hlPjsKIHB1YmxpYzoKICAgICBzdHJ1Y3Qg
UGFyYW1ldGVycyB7Ci0gICAgICAgIGJvb2wgZW5hYmxlRWZmaWNhY3lMb2dnaW5nOworICAgICAg
ICBib29sIGVuYWJsZUVmZmljYWN5TG9nZ2luZyB7IGZhbHNlIH07CisgICAgICAgIC8vIEluIHRl
c3RpbmcgbW9kZSB3ZSB0cnkgdG8gZWxpbWluYXRlIHNvdXJjZXMgb2YgcmFuZG9tbmVzcy4gQ2Fj
aGUgZG9lcyBub3Qgc2hyaW5rIGFuZCB0aGVyZSBhcmUgbm8gcmVhZCB0aW1lb3V0cy4KKyAgICAg
ICAgYm9vbCBlbmFibGVUZXN0aW5nTW9kZSB7IGZhbHNlIH07CiAjaWYgRU5BQkxFKE5FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQotICAgICAgICBib29sIGVuYWJsZU5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uOworICAgICAgICBib29sIGVuYWJsZU5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uIHsgZmFsc2UgfTsKICNlbmRpZgogICAgIH07
CiAgICAgYm9vbCBpbml0aWFsaXplKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoLCBjb25zdCBQYXJh
bWV0ZXJzJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAkocmV2aXNpb24gMjE0OTM3KQor
KysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw3ICsxNDksNyBAQCBzdGF0aWMgU3RyaW5nIG1h
a2VTYWx0RmlsZVBhdGgoY29uc3QgU3RyCiAgICAgcmV0dXJuIFdlYkNvcmU6OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudChtYWtlVmVyc2lvbmVkRGlyZWN0b3J5UGF0aChiYXNlRGlyZWN0b3J5UGF0
aCksIHNhbHRGaWxlTmFtZSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlPiBTdG9yYWdl
OjpvcGVuKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoKQorc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+
IFN0b3JhZ2U6Om9wZW4oY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIE1vZGUgbW9kZSkKIHsKICAg
ICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCkBAIC0xNTgsNyArMTU4LDcgQEAgc3RkOjp1
bmlxdWVfcHRyPFN0b3JhZ2U+IFN0b3JhZ2U6Om9wZW4oYwogICAgIGF1dG8gc2FsdCA9IHJlYWRP
ck1ha2VTYWx0KG1ha2VTYWx0RmlsZVBhdGgoY2FjaGVQYXRoKSk7CiAgICAgaWYgKCFzYWx0KQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFN0b3Jh
Z2U+KG5ldyBTdG9yYWdlKGNhY2hlUGF0aCwgKnNhbHQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyPFN0b3JhZ2U+KG5ldyBTdG9yYWdlKGNhY2hlUGF0aCwgbW9kZSwgKnNhbHQpKTsKIH0K
IAogdm9pZCB0cmF2ZXJzZVJlY29yZHNGaWxlcyhjb25zdCBTdHJpbmcmIHJlY29yZHNQYXRoLCBj
b25zdCBTdHJpbmcmIGV4cGVjdGVkVHlwZSwgY29uc3QgUmVjb3JkRmlsZVRyYXZlcnNlRnVuY3Rp
b24mIGZ1bmN0aW9uKQpAQCAtMjA3LDkgKzIwNywxMCBAQCBzdGF0aWMgdm9pZCBkZWxldGVFbXB0
eVJlY29yZHNEaXJlY3RvcmllCiAgICAgfSk7CiB9CiAKLVN0b3JhZ2U6OlN0b3JhZ2UoY29uc3Qg
U3RyaW5nJiBiYXNlRGlyZWN0b3J5UGF0aCwgU2FsdCBzYWx0KQorU3RvcmFnZTo6U3RvcmFnZShj
b25zdCBTdHJpbmcmIGJhc2VEaXJlY3RvcnlQYXRoLCBNb2RlIG1vZGUsIFNhbHQgc2FsdCkKICAg
ICA6IG1fYmFzZVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpCiAgICAgLCBtX3JlY29yZHNQYXRoKG1h
a2VSZWNvcmRzRGlyZWN0b3J5UGF0aChiYXNlRGlyZWN0b3J5UGF0aCkpCisgICAgLCBtX21vZGUo
bW9kZSkKICAgICAsIG1fc2FsdChzYWx0KQogICAgICwgbV9jYW5Vc2VTaGFyZWRNZW1vcnlGb3JC
b2R5RGF0YShjYW5Vc2VTaGFyZWRNZW1vcnlGb3JQYXRoKGJhc2VEaXJlY3RvcnlQYXRoKSkKICAg
ICAsIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lcigqdGhpcywgJlN0b3JhZ2U6OmNhbmNlbEFs
bFJlYWRPcGVyYXRpb25zKQpAQCAtNTczLDkgKzU3NCwxMiBAQCB2b2lkIFN0b3JhZ2U6OmRpc3Bh
dGNoUmVhZE9wZXJhdGlvbihzdGQ6CiAgICAgYXV0byYgcmVhZE9wZXJhdGlvbiA9ICpyZWFkT3Bl
cmF0aW9uUHRyOwogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMuYWRkKFdURk1vdmUocmVhZE9w
ZXJhdGlvblB0cikpOwogCi0gICAgLy8gSS9PIHByZXNzdXJlIG1heSBtYWtlIGRpc2sgb3BlcmF0
aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxvbmcgdGltZSB3ZSByYXRoZXIg
Z28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOwotICAg
IG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwor
ICAgIC8vIEF2b2lkIHJhbmRvbW5lc3MgZHVyaW5nIHRlc3RpbmcuCisgICAgaWYgKG1fbW9kZSAh
PSBNb2RlOjpUZXN0aW5nKSB7CisgICAgICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNr
IG9wZXJhdGlvbnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2Ug
cmF0aGVyIGdvIHRvIG5ldHdvcmsuCisgICAgICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAx
NTAwbXM7CisgICAgICAgIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qo
cmVhZFRpbWVvdXQpOworICAgIH0KIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlD
b250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CiAKQEAgLTk2NSw2ICs5NjksMTAgQEAgdm9p
ZCBTdG9yYWdlOjpzaHJpbmtJZk5lZWRlZCgpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFp
bigpKTsKIAorICAgIC8vIEF2b2lkIHJhbmRvbW5lc3MgY2F1c2VkIGJ5IGNhY2hlIHNocmlua3Mu
CisgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpUZXN0aW5nKQorICAgICAgICByZXR1cm47CisKICAg
ICBpZiAoYXBwcm94aW1hdGVTaXplKCkgPiBtX2NhcGFjaXR5KQogICAgICAgICBzaHJpbmsoKTsK
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgJKHJldmlzaW9uIDIxNDkzNykKKysrIFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDgsNyArNDgsOCBAQCBjbGFzcyBJT0NoYW5uZWw7CiBjbGFzcyBTdG9yYWdl
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdG9yYWdlKTsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+IG9wZW4oY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgp
OworICAgIGVudW0gY2xhc3MgTW9kZSB7IE5vcm1hbCwgVGVzdGluZyB9OworICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZT4gb3Blbihjb25zdCBTdHJpbmcmIGNhY2hlUGF0aCwgTW9k
ZSk7CiAKICAgICBzdHJ1Y3QgUmVjb3JkIHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CkBAIC0xMDUsNyArMTA2LDcgQEAgcHVibGljOgogICAgIH5TdG9yYWdlKCk7CiAKIHByaXZh
dGU6Ci0gICAgU3RvcmFnZShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeVBhdGgsIFNhbHQpOworICAg
IFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBNb2RlLCBTYWx0KTsKIAogICAg
IFN0cmluZyByZWNvcmREaXJlY3RvcnlQYXRoRm9yS2V5KGNvbnN0IEtleSYpIGNvbnN0OwogICAg
IFN0cmluZyByZWNvcmRQYXRoRm9yS2V5KGNvbnN0IEtleSYpIGNvbnN0OwpAQCAtMTQ1LDkgKzE0
Niw5IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBTdHJpbmcgbV9iYXNlUGF0aDsKICAgICBjb25z
dCBTdHJpbmcgbV9yZWNvcmRzUGF0aDsKLQorICAgIAorICAgIGNvbnN0IE1vZGUgbV9tb2RlOwog
ICAgIGNvbnN0IFNhbHQgbV9zYWx0OwotCiAgICAgY29uc3QgYm9vbCBtX2NhblVzZVNoYXJlZE1l
bW9yeUZvckJvZHlEYXRhOwogCiAgICAgc2l6ZV90IG1fY2FwYWNpdHkgeyBzdGQ6Om51bWVyaWNf
bGltaXRzPHNpemVfdD46Om1heCgpIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0JKHJldmlz
aW9uIDIxNDkzNykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMyw3ICsxMTMsOCBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAjaWYgRU5BQkxFKE5FVFdPUktf
Q0FDSEUpCiAgICAgICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdvcmtDYWNoZSkg
ewogICAgICAgICAgICAgTmV0d29ya0NhY2hlOjpDYWNoZTo6UGFyYW1ldGVycyBjYWNoZVBhcmFt
ZXRlcnMgPSB7Ci0gICAgICAgICAgICAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3Jr
Q2FjaGVFZmZpY2FjeUxvZ2dpbmcKKyAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLnNob3VsZEVu
YWJsZU5ldHdvcmtDYWNoZUVmZmljYWN5TG9nZ2luZywKKyAgICAgICAgICAgICAgICBwYXJhbWV0
ZXJzLnNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbgogI2lmIEVOQUJMRShORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKICAgICAgICAgICAgICAgICAsIHBhcmFtZXRl
cnMuc2hvdWxkRW5hYmxlTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb24KICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306382</attachid>
            <date>2017-04-06 07:20:08 -0700</date>
            <delta_ts>2017-04-06 07:37:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-testing-mode-2.patch</filename>
            <type>text/plain</type>
            <size>9066</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTAzNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA0LTA2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBt
b2RlIGZvciBkaXNrIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzA1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEaXNhYmxlIHJlYWQgdGltZW91dHMgYW5kIGNhY2hlIHNocmlua2luZyBpbiBU
ZXN0UnVubmVyIHRvIGVsaW1pbmF0ZSBwb3RlbnRpYWwgc291cmNlcyBvZiByYW5kb21uZXNzLgor
CisgICAgICAgIENhY2hlIGRpcmVjdG9yaWVzIGFyZSBkZWxldGVkIGJ5IFRlc3RSdW5uZXIgc28g
bGFjayBvZiBzaHJpbmtpbmcgZG9lcyBub3QgY29uc3VtZSB0aGUgZGlzay4KKworICAgICAgICBU
aGlzIGlzIGVuYWJsZWQgYnkgdGhlIGV4aXN0aW5nIFdLQ29udGV4dFVzZVRlc3RpbmdOZXR3b3Jr
U2Vzc2lvbiBTUEkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjppbml0aWFsaXpl
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpvcGVuKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnNocmlua0lmTmVlZGVkKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzQ29jb2Ep
OgorCiAyMDE3LTA0LTA2ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRml4IGJ1aWxkIHdpdGggTUVESUFfQ0FQVFVSRSBlbmFibGVk
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAJKHJldmlzaW9uIDIxNDkzNykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcg
Kzc1LDcgQEAgc3RhdGljIHZvaWQgZHVtcEZpbGVDaGFuZ2VkKENhY2hlKiBjYWNoZQogCiBib29s
IENhY2hlOjppbml0aWFsaXplKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoLCBjb25zdCBQYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogewotICAgIG1fc3RvcmFnZSA9IFN0b3JhZ2U6Om9wZW4oY2FjaGVQ
YXRoKTsKKyAgICBtX3N0b3JhZ2UgPSBTdG9yYWdlOjpvcGVuKGNhY2hlUGF0aCwgcGFyYW1ldGVy
cy5lbmFibGVUZXN0aW5nTW9kZSA/IFN0b3JhZ2U6Ok1vZGU6OlRlc3RpbmcgOiBTdG9yYWdlOjpN
b2RlOjpOb3JtYWwpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKQogICAgIGlmIChwYXJhbWV0ZXJzLmVuYWJsZU5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlUmV2YWxpZGF0aW9uKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAkocmV2aXNpb24gMjE0OTM3KQorKysgU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk1LDkgKzk1LDExIEBAIGNsYXNzIENhY2hlIHsKICAgICBmcmllbmQgY2xhc3MgV1RG
OjpOZXZlckRlc3Ryb3llZDxDYWNoZT47CiBwdWJsaWM6CiAgICAgc3RydWN0IFBhcmFtZXRlcnMg
ewotICAgICAgICBib29sIGVuYWJsZUVmZmljYWN5TG9nZ2luZzsKKyAgICAgICAgYm9vbCBlbmFi
bGVFZmZpY2FjeUxvZ2dpbmcgeyBmYWxzZSB9OworICAgICAgICAvLyBJbiB0ZXN0aW5nIG1vZGUg
d2UgdHJ5IHRvIGVsaW1pbmF0ZSBzb3VyY2VzIG9mIHJhbmRvbW5lc3MuIENhY2hlIGRvZXMgbm90
IHNocmluayBhbmQgdGhlcmUgYXJlIG5vIHJlYWQgdGltZW91dHMuCisgICAgICAgIGJvb2wgZW5h
YmxlVGVzdGluZ01vZGUgeyBmYWxzZSB9OwogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNV
TEFUSVZFX1JFVkFMSURBVElPTikKLSAgICAgICAgYm9vbCBlbmFibGVOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVJldmFsaWRhdGlvbjsKKyAgICAgICAgYm9vbCBlbmFibGVOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVJldmFsaWRhdGlvbiB7IGZhbHNlIH07CiAjZW5kaWYKICAgICB9OwogICAgIGJvb2wg
aW5pdGlhbGl6ZShjb25zdCBTdHJpbmcmIGNhY2hlUGF0aCwgY29uc3QgUGFyYW1ldGVycyYpOwpJ
bmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAJKHJldmlzaW9uIDIxNDkzNykKKysrIFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDksNyArMTQ5LDcgQEAgc3RhdGljIFN0cmluZyBtYWtlU2FsdEZpbGVQ
YXRoKGNvbnN0IFN0cgogICAgIHJldHVybiBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQobWFrZVZlcnNpb25lZERpcmVjdG9yeVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpLCBzYWx0Rmls
ZU5hbWUpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZT4gU3RvcmFnZTo6b3Blbihjb25z
dCBTdHJpbmcmIGNhY2hlUGF0aCkKK3N0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlPiBTdG9yYWdlOjpv
cGVuKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoLCBNb2RlIG1vZGUpCiB7CiAgICAgQVNTRVJUKFJ1
bkxvb3A6OmlzTWFpbigpKTsKIApAQCAtMTU4LDcgKzE1OCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxT
dG9yYWdlPiBTdG9yYWdlOjpvcGVuKGMKICAgICBhdXRvIHNhbHQgPSByZWFkT3JNYWtlU2FsdCht
YWtlU2FsdEZpbGVQYXRoKGNhY2hlUGF0aCkpOwogICAgIGlmICghc2FsdCkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlPihuZXcgU3Rv
cmFnZShjYWNoZVBhdGgsICpzYWx0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTdG9y
YWdlPihuZXcgU3RvcmFnZShjYWNoZVBhdGgsIG1vZGUsICpzYWx0KSk7CiB9CiAKIHZvaWQgdHJh
dmVyc2VSZWNvcmRzRmlsZXMoY29uc3QgU3RyaW5nJiByZWNvcmRzUGF0aCwgY29uc3QgU3RyaW5n
JiBleHBlY3RlZFR5cGUsIGNvbnN0IFJlY29yZEZpbGVUcmF2ZXJzZUZ1bmN0aW9uJiBmdW5jdGlv
bikKQEAgLTIwNyw5ICsyMDcsMTAgQEAgc3RhdGljIHZvaWQgZGVsZXRlRW1wdHlSZWNvcmRzRGly
ZWN0b3JpZQogICAgIH0pOwogfQogCi1TdG9yYWdlOjpTdG9yYWdlKGNvbnN0IFN0cmluZyYgYmFz
ZURpcmVjdG9yeVBhdGgsIFNhbHQgc2FsdCkKK1N0b3JhZ2U6OlN0b3JhZ2UoY29uc3QgU3RyaW5n
JiBiYXNlRGlyZWN0b3J5UGF0aCwgTW9kZSBtb2RlLCBTYWx0IHNhbHQpCiAgICAgOiBtX2Jhc2VQ
YXRoKGJhc2VEaXJlY3RvcnlQYXRoKQogICAgICwgbV9yZWNvcmRzUGF0aChtYWtlUmVjb3Jkc0Rp
cmVjdG9yeVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpKQorICAgICwgbV9tb2RlKG1vZGUpCiAgICAg
LCBtX3NhbHQoc2FsdCkKICAgICAsIG1fY2FuVXNlU2hhcmVkTWVtb3J5Rm9yQm9keURhdGEoY2Fu
VXNlU2hhcmVkTWVtb3J5Rm9yUGF0aChiYXNlRGlyZWN0b3J5UGF0aCkpCiAgICAgLCBtX3JlYWRP
cGVyYXRpb25UaW1lb3V0VGltZXIoKnRoaXMsICZTdG9yYWdlOjpjYW5jZWxBbGxSZWFkT3BlcmF0
aW9ucykKQEAgLTU3Myw5ICs1NzQsMTIgQEAgdm9pZCBTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVy
YXRpb24oc3RkOgogICAgIGF1dG8mIHJlYWRPcGVyYXRpb24gPSAqcmVhZE9wZXJhdGlvblB0cjsK
ICAgICBtX2FjdGl2ZVJlYWRPcGVyYXRpb25zLmFkZChXVEZNb3ZlKHJlYWRPcGVyYXRpb25QdHIp
KTsKIAotICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJhdGlvbnMgc2xvdy4g
SWYgdGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVyIGdvIHRvIG5ldHdv
cmsuCi0gICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBtczsKLSAgICBtX3JlYWRPcGVy
YXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKKyAgICAvLyBBdm9p
ZCByYW5kb21uZXNzIGR1cmluZyB0ZXN0aW5nLgorICAgIGlmIChtX21vZGUgIT0gTW9kZTo6VGVz
dGluZykgeworICAgICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVyYXRpb25z
IHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhlciBnbyB0
byBuZXR3b3JrLgorICAgICAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOworICAg
ICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0
KTsKKyAgICB9CiAKICAgICBib29sIHNob3VsZEdldEJvZHlCbG9iID0gbWF5Q29udGFpbkJsb2Io
cmVhZE9wZXJhdGlvbi5rZXkpOwogCkBAIC05NjUsNiArOTY5LDEwIEBAIHZvaWQgU3RvcmFnZTo6
c2hyaW5rSWZOZWVkZWQoKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKKyAg
ICAvLyBBdm9pZCByYW5kb21uZXNzIGNhdXNlZCBieSBjYWNoZSBzaHJpbmtzLgorICAgIGlmICht
X21vZGUgPT0gTW9kZTo6VGVzdGluZykKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKGFwcHJv
eGltYXRlU2l6ZSgpID4gbV9jYXBhY2l0eSkKICAgICAgICAgc2hyaW5rKCk7CiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oCShyZXZpc2lvbiAyMTQ5MzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDcgKzQ4LDggQEAgY2xhc3MgSU9DaGFubmVsOwogY2xhc3MgU3RvcmFnZSB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RvcmFnZSk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxTdG9yYWdlPiBvcGVuKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoKTsKKyAgICBlbnVt
IGNsYXNzIE1vZGUgeyBOb3JtYWwsIFRlc3RpbmcgfTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFN0b3JhZ2U+IG9wZW4oY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIE1vZGUpOwogCiAgICAg
c3RydWN0IFJlY29yZCB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtMTA1
LDcgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB+U3RvcmFnZSgpOwogCiBwcml2YXRlOgotICAgIFN0
b3JhZ2UoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBTYWx0KTsKKyAgICBTdG9yYWdlKGNv
bnN0IFN0cmluZyYgZGlyZWN0b3J5UGF0aCwgTW9kZSwgU2FsdCk7CiAKICAgICBTdHJpbmcgcmVj
b3JkRGlyZWN0b3J5UGF0aEZvcktleShjb25zdCBLZXkmKSBjb25zdDsKICAgICBTdHJpbmcgcmVj
b3JkUGF0aEZvcktleShjb25zdCBLZXkmKSBjb25zdDsKQEAgLTE0NSw5ICsxNDYsOSBAQCBwcml2
YXRlOgogCiAgICAgY29uc3QgU3RyaW5nIG1fYmFzZVBhdGg7CiAgICAgY29uc3QgU3RyaW5nIG1f
cmVjb3Jkc1BhdGg7Ci0KKyAgICAKKyAgICBjb25zdCBNb2RlIG1fbW9kZTsKICAgICBjb25zdCBT
YWx0IG1fc2FsdDsKLQogICAgIGNvbnN0IGJvb2wgbV9jYW5Vc2VTaGFyZWRNZW1vcnlGb3JCb2R5
RGF0YTsKIAogICAgIHNpemVfdCBtX2NhcGFjaXR5IHsgc3RkOjpudW1lcmljX2xpbWl0czxzaXpl
X3Q+OjptYXgoKSB9OwpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Byb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyMTQ5Mzcp
CisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0Nv
Y29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDggQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTgogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQogICAg
ICAgICBpZiAocGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3JrQ2FjaGUpIHsKICAgICAgICAg
ICAgIE5ldHdvcmtDYWNoZTo6Q2FjaGU6OlBhcmFtZXRlcnMgY2FjaGVQYXJhbWV0ZXJzID0gewot
ICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTmV0d29ya0NhY2hlRWZmaWNh
Y3lMb2dnaW5nCisgICAgICAgICAgICAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3Jr
Q2FjaGVFZmZpY2FjeUxvZ2dpbmcsCisgICAgICAgICAgICAgICAgcGFyYW1ldGVycy5zaG91bGRV
c2VUZXN0aW5nTmV0d29ya1Nlc3Npb24KICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxB
VElWRV9SRVZBTElEQVRJT04pCiAgICAgICAgICAgICAgICAgLCBwYXJhbWV0ZXJzLnNob3VsZEVu
YWJsZU5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uCiAjZW5kaWYKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDIxNDkzNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBtb2RlIGZvciBkaXNrIGNhY2hl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA1NDcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
YSBmZXcgZGlzYWJsZWQgdGVzdHMgdG8gc2VlIGhvdyBpdCBnb2VzLgorCisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTA0LTA0ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtdHJhaWxlci5odG1s
IGFzIGZsYWt5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAyMTQ5MzcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTMwOCwxMCArMzA4LDYgQEAg
d2Via2l0Lm9yZy9iLzE1MTMyNiBbIFlvc2VtaXRlKyBdIHdlYmFyYwogCiB3ZWJraXQub3JnL2Iv
MTUxNDU1IFsgUmVsZWFzZSBdIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRo
b2RzLWFzeW5jLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMTYyOTQ1IGh0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlcXVlc3QtbWF4LXN0YWxlLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQotCi13ZWJraXQub3JnL2IvMTYyOTQ2IGh0dHAvdGVzdHMvY2Fj
aGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLW1lZGlhLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3
ZWJraXQub3JnL2IvMTUwNTQyIGZhc3QvZm9ybXMvc3RhdGUtcmVzdG9yZS1wZXItZm9ybS5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzE1MTcwOSBbIFJlbGVhc2UgXSBodHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0aG9kcy5odG1sIFsgUGFzcyBUaW1lb3V0
IF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306384</attachid>
            <date>2017-04-06 07:37:20 -0700</date>
            <delta_ts>2017-04-06 11:32:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-testing-mode-3.patch</filename>
            <type>text/plain</type>
            <size>12273</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTAzNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA0LTA2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBt
b2RlIGZvciBkaXNrIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzA1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEaXNhYmxlIHJlYWQgdGltZW91dHMgYW5kIGNhY2hlIHNocmlua2luZyBpbiBU
ZXN0UnVubmVyIHRvIGVsaW1pbmF0ZSBwb3RlbnRpYWwgc291cmNlcyBvZiByYW5kb21uZXNzLgor
CisgICAgICAgIENhY2hlIGRpcmVjdG9yaWVzIGFyZSBkZWxldGVkIGJ5IFRlc3RSdW5uZXIgc28g
bGFjayBvZiBzaHJpbmtpbmcgZG9lcyBub3QgY29uc3VtZSB0aGUgZGlzay4KKworICAgICAgICBU
aGlzIGlzIGVuYWJsZWQgYnkgdGhlIGV4aXN0aW5nIFdLQ29udGV4dFVzZVRlc3RpbmdOZXR3b3Jr
U2Vzc2lvbiBTUEkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjppbml0aWFsaXpl
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpvcGVuKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnNocmlua0lmTmVlZGVkKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzQ29jb2Ep
OgorCiAyMDE3LTA0LTA2ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gRml4IGJ1aWxkIHdpdGggTUVESUFfQ0FQVFVSRSBlbmFibGVk
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAJKHJldmlzaW9uIDIxNDkzNykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDEy
ICs3MywxMiBAQCBzdGF0aWMgdm9pZCBkdW1wRmlsZUNoYW5nZWQoQ2FjaGUqIGNhY2hlCiB9CiAj
ZW5kaWYKIAotYm9vbCBDYWNoZTo6aW5pdGlhbGl6ZShjb25zdCBTdHJpbmcmIGNhY2hlUGF0aCwg
Y29uc3QgUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK2Jvb2wgQ2FjaGU6OmluaXRpYWxpemUoY29u
c3QgU3RyaW5nJiBjYWNoZVBhdGgsIE9wdGlvblNldDxPcHRpb24+IG9wdGlvbnMpCiB7Ci0gICAg
bV9zdG9yYWdlID0gU3RvcmFnZTo6b3BlbihjYWNoZVBhdGgpOworICAgIG1fc3RvcmFnZSA9IFN0
b3JhZ2U6Om9wZW4oY2FjaGVQYXRoLCBvcHRpb25zLmNvbnRhaW5zKE9wdGlvbjo6VGVzdGluZ01v
ZGUpID8gU3RvcmFnZTo6TW9kZTo6VGVzdGluZyA6IFN0b3JhZ2U6Ok1vZGU6Ok5vcm1hbCk7CiAK
ICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAg
aWYgKHBhcmFtZXRlcnMuZW5hYmxlTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb24p
IHsKKyAgICBpZiAob3B0aW9ucy5jb250YWlucyhPcHRpb246OlNwZWN1bGF0aXZlUmV2YWxpZGF0
aW9uKSkgewogICAgICAgICBtX2xvd1Bvd2VyTW9kZU5vdGlmaWVyID0gc3RkOjptYWtlX3VuaXF1
ZTxXZWJDb3JlOjpMb3dQb3dlck1vZGVOb3RpZmllcj4oW3RoaXNdKGJvb2wgaXNMb3dQb3dlck1v
ZGVFbmFibGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoV1RGOjppc01haW5UaHJlYWQoKSk7CiAg
ICAgICAgICAgICBpZiAoaXNMb3dQb3dlck1vZGVFbmFibGVkKQpAQCAtOTMsNyArOTMsNyBAQCBi
b29sIENhY2hlOjppbml0aWFsaXplKGNvbnN0IFN0cmluZyYgY2FjCiAgICAgfQogI2VuZGlmCiAK
LSAgICBpZiAocGFyYW1ldGVycy5lbmFibGVFZmZpY2FjeUxvZ2dpbmcpCisgICAgaWYgKG9wdGlv
bnMuY29udGFpbnMoT3B0aW9uOjpFZmZpY2FjeUxvZ2dpbmcpKQogICAgICAgICBtX3N0YXRpc3Rp
Y3MgPSBTdGF0aXN0aWNzOjpvcGVuKGNhY2hlUGF0aCk7CiAKICNpZiBQTEFURk9STShDT0NPQSkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5oCShyZXZpc2lvbiAyMTQ5MzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC05NCwxMyArOTUsMTUgQEAgY2xhc3MgQ2FjaGUgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENhY2hlKTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpOZXZlckRlc3Ry
b3llZDxDYWNoZT47CiBwdWJsaWM6Ci0gICAgc3RydWN0IFBhcmFtZXRlcnMgewotICAgICAgICBi
b29sIGVuYWJsZUVmZmljYWN5TG9nZ2luZzsKKyAgICBlbnVtIGNsYXNzIE9wdGlvbiB7CisgICAg
ICAgIEVmZmljYWN5TG9nZ2luZywKKyAgICAgICAgLy8gSW4gdGVzdGluZyBtb2RlIHdlIHRyeSB0
byBlbGltaW5hdGUgc291cmNlcyBvZiByYW5kb21uZXNzLiBDYWNoZSBkb2VzIG5vdCBzaHJpbmsg
YW5kIHRoZXJlIGFyZSBubyByZWFkIHRpbWVvdXRzLgorICAgICAgICBUZXN0aW5nTW9kZSwKICNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgICAg
IGJvb2wgZW5hYmxlTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb247CisgICAgICAg
IFNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uLAogI2VuZGlmCiAgICAgfTsKLSAgICBib29sIGluaXRp
YWxpemUoY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIGNvbnN0IFBhcmFtZXRlcnMmKTsKKyAgICBi
b29sIGluaXRpYWxpemUoY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIE9wdGlvblNldDxPcHRpb24+
KTsKICAgICB2b2lkIHNldENhcGFjaXR5KHNpemVfdCk7CiAKICAgICBib29sIGlzRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuICEhbV9zdG9yYWdlOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNw
cAkocmV2aXNpb24gMjE0OTM3KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw3ICsxNDks
NyBAQCBzdGF0aWMgU3RyaW5nIG1ha2VTYWx0RmlsZVBhdGgoY29uc3QgU3RyCiAgICAgcmV0dXJu
IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtYWtlVmVyc2lvbmVkRGlyZWN0b3J5
UGF0aChiYXNlRGlyZWN0b3J5UGF0aCksIHNhbHRGaWxlTmFtZSk7CiB9CiAKLXN0ZDo6dW5pcXVl
X3B0cjxTdG9yYWdlPiBTdG9yYWdlOjpvcGVuKGNvbnN0IFN0cmluZyYgY2FjaGVQYXRoKQorc3Rk
Ojp1bmlxdWVfcHRyPFN0b3JhZ2U+IFN0b3JhZ2U6Om9wZW4oY29uc3QgU3RyaW5nJiBjYWNoZVBh
dGgsIE1vZGUgbW9kZSkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCkBAIC0x
NTgsNyArMTU4LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+IFN0b3JhZ2U6Om9wZW4oYwog
ICAgIGF1dG8gc2FsdCA9IHJlYWRPck1ha2VTYWx0KG1ha2VTYWx0RmlsZVBhdGgoY2FjaGVQYXRo
KSk7CiAgICAgaWYgKCFzYWx0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+KG5ldyBTdG9yYWdlKGNhY2hlUGF0aCwgKnNhbHQpKTsK
KyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+KG5ldyBTdG9yYWdlKGNhY2hlUGF0
aCwgbW9kZSwgKnNhbHQpKTsKIH0KIAogdm9pZCB0cmF2ZXJzZVJlY29yZHNGaWxlcyhjb25zdCBT
dHJpbmcmIHJlY29yZHNQYXRoLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVHlwZSwgY29uc3QgUmVj
b3JkRmlsZVRyYXZlcnNlRnVuY3Rpb24mIGZ1bmN0aW9uKQpAQCAtMjA3LDkgKzIwNywxMCBAQCBz
dGF0aWMgdm9pZCBkZWxldGVFbXB0eVJlY29yZHNEaXJlY3RvcmllCiAgICAgfSk7CiB9CiAKLVN0
b3JhZ2U6OlN0b3JhZ2UoY29uc3QgU3RyaW5nJiBiYXNlRGlyZWN0b3J5UGF0aCwgU2FsdCBzYWx0
KQorU3RvcmFnZTo6U3RvcmFnZShjb25zdCBTdHJpbmcmIGJhc2VEaXJlY3RvcnlQYXRoLCBNb2Rl
IG1vZGUsIFNhbHQgc2FsdCkKICAgICA6IG1fYmFzZVBhdGgoYmFzZURpcmVjdG9yeVBhdGgpCiAg
ICAgLCBtX3JlY29yZHNQYXRoKG1ha2VSZWNvcmRzRGlyZWN0b3J5UGF0aChiYXNlRGlyZWN0b3J5
UGF0aCkpCisgICAgLCBtX21vZGUobW9kZSkKICAgICAsIG1fc2FsdChzYWx0KQogICAgICwgbV9j
YW5Vc2VTaGFyZWRNZW1vcnlGb3JCb2R5RGF0YShjYW5Vc2VTaGFyZWRNZW1vcnlGb3JQYXRoKGJh
c2VEaXJlY3RvcnlQYXRoKSkKICAgICAsIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lcigqdGhp
cywgJlN0b3JhZ2U6OmNhbmNlbEFsbFJlYWRPcGVyYXRpb25zKQpAQCAtNTczLDkgKzU3NCwxMiBA
QCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6CiAgICAgYXV0byYgcmVh
ZE9wZXJhdGlvbiA9ICpyZWFkT3BlcmF0aW9uUHRyOwogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlv
bnMuYWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwogCi0gICAgLy8gSS9PIHByZXNzdXJl
IG1heSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5
IGxvbmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRU
aW1lb3V0ID0gMTUwMG1zOwotICAgIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFydE9u
ZVNob3QocmVhZFRpbWVvdXQpOworICAgIC8vIEF2b2lkIHJhbmRvbW5lc3MgZHVyaW5nIHRlc3Rp
bmcuCisgICAgaWYgKG1fbW9kZSAhPSBNb2RlOjpUZXN0aW5nKSB7CisgICAgICAgIC8vIEkvTyBw
cmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJhdGlvbnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtp
bmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVyIGdvIHRvIG5ldHdvcmsuCisgICAgICAgIGNvbnN0
IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CisgICAgICAgIG1fcmVhZE9wZXJhdGlvblRpbWVv
dXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOworICAgIH0KIAogICAgIGJvb2wgc2hv
dWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CiAKQEAg
LTk2NSw2ICs5NjksMTAgQEAgdm9pZCBTdG9yYWdlOjpzaHJpbmtJZk5lZWRlZCgpCiB7CiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIC8vIEF2b2lkIHJhbmRvbW5lc3MgY2F1
c2VkIGJ5IGNhY2hlIHNocmlua3MuCisgICAgaWYgKG1fbW9kZSA9PSBNb2RlOjpUZXN0aW5nKQor
ICAgICAgICByZXR1cm47CisKICAgICBpZiAoYXBwcm94aW1hdGVTaXplKCkgPiBtX2NhcGFjaXR5
KQogICAgICAgICBzaHJpbmsoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgJKHJldmlzaW9u
IDIxNDkzNykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVN0b3JhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsOCBAQCBjbGFzcyBJT0No
YW5uZWw7CiBjbGFzcyBTdG9yYWdlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdG9yYWdl
KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2U+IG9wZW4oY29u
c3QgU3RyaW5nJiBjYWNoZVBhdGgpOworICAgIGVudW0gY2xhc3MgTW9kZSB7IE5vcm1hbCwgVGVz
dGluZyB9OworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZT4gb3Blbihjb25zdCBT
dHJpbmcmIGNhY2hlUGF0aCwgTW9kZSk7CiAKICAgICBzdHJ1Y3QgUmVjb3JkIHsKICAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0xMDUsNyArMTA2LDcgQEAgcHVibGljOgogICAg
IH5TdG9yYWdlKCk7CiAKIHByaXZhdGU6Ci0gICAgU3RvcmFnZShjb25zdCBTdHJpbmcmIGRpcmVj
dG9yeVBhdGgsIFNhbHQpOworICAgIFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRo
LCBNb2RlLCBTYWx0KTsKIAogICAgIFN0cmluZyByZWNvcmREaXJlY3RvcnlQYXRoRm9yS2V5KGNv
bnN0IEtleSYpIGNvbnN0OwogICAgIFN0cmluZyByZWNvcmRQYXRoRm9yS2V5KGNvbnN0IEtleSYp
IGNvbnN0OwpAQCAtMTQ1LDkgKzE0Niw5IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBTdHJpbmcg
bV9iYXNlUGF0aDsKICAgICBjb25zdCBTdHJpbmcgbV9yZWNvcmRzUGF0aDsKLQorICAgIAorICAg
IGNvbnN0IE1vZGUgbV9tb2RlOwogICAgIGNvbnN0IFNhbHQgbV9zYWx0OwotCiAgICAgY29uc3Qg
Ym9vbCBtX2NhblVzZVNoYXJlZE1lbW9yeUZvckJvZHlEYXRhOwogCiAgICAgc2l6ZV90IG1fY2Fw
YWNpdHkgeyBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIH07CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIxNDkzNykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTExMiwxMyArMTEyLDE2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6
ZU4KICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRl
cnMuZGlza0NhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNpZiBFTkFCTEUoTkVUV09S
S19DQUNIRSkKICAgICAgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTmV0d29ya0NhY2hl
KSB7Ci0gICAgICAgICAgICBOZXR3b3JrQ2FjaGU6OkNhY2hlOjpQYXJhbWV0ZXJzIGNhY2hlUGFy
YW1ldGVycyA9IHsKLSAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdv
cmtDYWNoZUVmZmljYWN5TG9nZ2luZworICAgICAgICAgICAgT3B0aW9uU2V0PE5ldHdvcmtDYWNo
ZTo6Q2FjaGU6Ok9wdGlvbj4gY2FjaGVPcHRpb25zOworICAgICAgICAgICAgaWYgKHBhcmFtZXRl
cnMuc2hvdWxkRW5hYmxlTmV0d29ya0NhY2hlRWZmaWNhY3lMb2dnaW5nKQorICAgICAgICAgICAg
ICAgIGNhY2hlT3B0aW9ucyB8PSBOZXR3b3JrQ2FjaGU6OkNhY2hlOjpPcHRpb246OkVmZmljYWN5
TG9nZ2luZzsKKyAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZFVzZVRlc3RpbmdOZXR3
b3JrU2Vzc2lvbikKKyAgICAgICAgICAgICAgICBjYWNoZU9wdGlvbnMgfD0gTmV0d29ya0NhY2hl
OjpDYWNoZTo6T3B0aW9uOjpUZXN0aW5nTW9kZTsKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgICAgICAgICAgICAgLCBwYXJhbWV0ZXJzLnNo
b3VsZEVuYWJsZU5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uCisgICAgICAgICAg
ICBpZiAocGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVJldmFs
aWRhdGlvbikKKyAgICAgICAgICAgICAgICBjYWNoZU9wdGlvbnMgfD0gTmV0d29ya0NhY2hlOjpD
YWNoZTo6T3B0aW9uOjpTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbjsKICNlbmRpZgotICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgIGlmIChOZXR3b3JrQ2FjaGU6OnNpbmdsZXRvbigpLmluaXRpYWxp
emUobV9kaXNrQ2FjaGVEaXJlY3RvcnksIGNhY2hlUGFyYW1ldGVycykpIHsKKyAgICAgICAgICAg
IGlmIChOZXR3b3JrQ2FjaGU6OnNpbmdsZXRvbigpLmluaXRpYWxpemUobV9kaXNrQ2FjaGVEaXJl
Y3RvcnksIGNhY2hlT3B0aW9ucykpIHsKICAgICAgICAgICAgICAgICBhdXRvIHVybENhY2hlKGFk
b3B0TlMoW1tOU1VSTENhY2hlIGFsbG9jXSBpbml0V2l0aE1lbW9yeUNhcGFjaXR5OjAgZGlza0Nh
cGFjaXR5OjAgZGlza1BhdGg6bmlsXSkpOwogICAgICAgICAgICAgICAgIFtOU1VSTENhY2hlIHNl
dFNoYXJlZFVSTENhY2hlOnVybENhY2hlLmdldCgpXTsKICAgICAgICAgICAgICAgICByZXR1cm47
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNz
U291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291
cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCShyZXZpc2lvbiAyMTQ5MzcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMiwxMyArMTEyLDE1IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU4KIAogICAgIFNvdXBOZXR3b3JrU2Vzc2lvbjo6Y2xlYXJPbGRTb3VwQ2FjaGUo
V2ViQ29yZTo6ZGlyZWN0b3J5TmFtZShtX2Rpc2tDYWNoZURpcmVjdG9yeSkpOwogCi0gICAgTmV0
d29ya0NhY2hlOjpDYWNoZTo6UGFyYW1ldGVycyBjYWNoZVBhcmFtZXRlcnMgewotICAgICAgICBw
YXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdvcmtDYWNoZUVmZmljYWN5TG9nZ2luZworICAgIE9w
dGlvblNldDxOZXR3b3JrQ2FjaGU6OkNhY2hlOjpPcHRpb24+IGNhY2hlT3B0aW9uczsKKyAgICBp
ZiAocGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3JrQ2FjaGVFZmZpY2FjeUxvZ2dpbmcpCisg
ICAgICAgIGNhY2hlT3B0aW9ucyB8PSBOZXR3b3JrQ2FjaGU6OkNhY2hlOjpPcHRpb246OkVmZmlj
YWN5TG9nZ2luZzsKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pCi0gICAgICAgICwgcGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVJldmFsaWRhdGlvbgorICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKQorICAgICAgICBjYWNoZU9wdGlvbnMgfD0g
TmV0d29ya0NhY2hlOjpDYWNoZTo6T3B0aW9uOjpTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbjsKICNl
bmRpZgotICAgIH07Ci0gICAgTmV0d29ya0NhY2hlOjpzaW5nbGV0b24oKS5pbml0aWFsaXplKG1f
ZGlza0NhY2hlRGlyZWN0b3J5LCBjYWNoZVBhcmFtZXRlcnMpOworCisgICAgTmV0d29ya0NhY2hl
OjpzaW5nbGV0b24oKS5pbml0aWFsaXplKG1fZGlza0NhY2hlRGlyZWN0b3J5LCBjYWNoZU9wdGlv
bnMpOwogCiAgICAgaWYgKCFwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aC5p
c0VtcHR5KCkpIHsKICAgICAgICAgc3VwcGxlbWVudDxXZWJDb29raWVNYW5hZ2VyPigpLT5zZXRD
b29raWVQZXJzaXN0ZW50U3RvcmFnZShwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
UGF0aCwKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDkzNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA2ICBBbnR0aSBLb2l2
aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBtb2Rl
IGZvciBkaXNrIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzA1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgYSBmZXcgZGlzYWJsZWQgdGVzdHMgdG8gc2VlIGhvdyBpdCBnb2VzLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTA0
LTA0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtdHJhaWxlci5odG1sIGFzIGZsYWt5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTQ5MzcpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTMw
OCwxMCArMzA4LDYgQEAgd2Via2l0Lm9yZy9iLzE1MTMyNiBbIFlvc2VtaXRlKyBdIHdlYmFyYwog
CiB3ZWJraXQub3JnL2IvMTUxNDU1IFsgUmVsZWFzZSBdIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3Qvd29ya2Vycy9tZXRob2RzLWFzeW5jLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13ZWJraXQu
b3JnL2IvMTYyOTQ1IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlcXVl
c3QtbWF4LXN0YWxlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCi13ZWJraXQub3JnL2IvMTYyOTQ2
IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLW1lZGlhLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMTUwNTQyIGZhc3QvZm9ybXMvc3RhdGUtcmVzdG9y
ZS1wZXItZm9ybS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzE1MTcwOSBb
IFJlbGVhc2UgXSBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0aG9kcy5odG1s
IFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>