<?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>203822</bug_id>
          
          <creation_ts>2019-11-04 13:07:05 -0800</creation_ts>
          <short_desc>Fix flaky tests in http/tests/cache/disk-cache</short_desc>
          <delta_ts>2019-11-08 13:27:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1587108</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-04 13:07:05 -0800</bug_when>
    <thetext>Fix flaky tests in http/tests/cache/disk-cache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587112</commentid>
    <comment_count>1</comment_count>
      <attachid>382764</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-04 13:08:49 -0800</bug_when>
    <thetext>Created attachment 382764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587292</commentid>
    <comment_count>2</comment_count>
      <attachid>382803</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-04 20:03:59 -0800</bug_when>
    <thetext>Created attachment 382803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588618</commentid>
    <comment_count>3</comment_count>
      <attachid>382803</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-08 06:43:57 -0800</bug_when>
    <thetext>Comment on attachment 382803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=382803&amp;action=review

&gt; Source/WebKit/ChangeLog:8
&gt; +        Right now tests that set the cache model do so using a race condition.  I think this will fix the flakyness we&apos;ve observed.

Is the plan to update TestExpectations at a later stage once the theory is validated?

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:-552
&gt; -        WKContextSetCacheModel(TestController::singleton().context(), model);

Should we try to remove WKContextSetCacheModel?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588794</commentid>
    <comment_count>4</comment_count>
      <attachid>382803</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-08 13:24:49 -0800</bug_when>
    <thetext>Comment on attachment 382803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=382803&amp;action=review

&gt;&gt; Source/WebKit/ChangeLog:8
&gt;&gt; +        Right now tests that set the cache model do so using a race condition.  I think this will fix the flakyness we&apos;ve observed.
&gt; 
&gt; Is the plan to update TestExpectations at a later stage once the theory is validated?

Yes.

&gt;&gt; Tools/WebKitTestRunner/TestInvocation.cpp:-552
&gt;&gt; -        WKContextSetCacheModel(TestController::singleton().context(), model);
&gt; 
&gt; Should we try to remove WKContextSetCacheModel?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588796</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-08 13:26:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/r252259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588799</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-08 13:27:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/57032451&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382764</attachid>
            <date>2019-11-04 13:08:49 -0800</date>
            <delta_ts>2019-11-04 20:03:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203822-20191104210847.patch</filename>
            <type>text/plain</type>
            <size>11793</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IGZsYWt5IHRl
c3RzIGluIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzODIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmlnaHQgbm93IHRlc3RzIHRoYXQgc2V0IHRoZSBj
YWNoZSBtb2RlbCBkbyBzbyB1c2luZyBhIHJhY2UgY29uZGl0aW9uLiAgSSB0aGluayB0aGlzIHdp
bGwgZml4IHRoZSBmbGFreW5lc3Mgd2UndmUgb2JzZXJ2ZWQuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpzZXRDYWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
V2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRD
YWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0Q2FjaGVN
b2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hlTW9k
ZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwogMjAxOS0xMS0wMyAgSmlld2VuIFRhbiAgPGppZXdl
bl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gQ3RhcEF1dGhlbnRpY2F0b3I6
OnRyeURvd25ncmFkZSBzaG91bGQgZGlzdGluZ3Vpc2ggcmVxdWVzdERhdGEoKS5vcHRpb25zCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cAkocmV2aXNpb24gMjUxOTgwKQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OTMsNiArMTk5MywxMiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpjb250aW51ZURlY2lkZVBlbmRpCiAgICAgICAgIGRvd25sb2FkTWFu
YWdlcigpLmNvbnRpbnVlRGVjaWRlUGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oZG93bmxvYWRJ
RCwgZGVzdGluYXRpb24sIFdURk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSksIGFsbG93T3Zl
cndyaXRlKTsKIH0KIAordm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbFN5bmNocm9u
b3VzbHlGb3JUZXN0aW5nKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIHNldENhY2hlTW9kZWwoY2FjaGVN
b2RlbCwgeyB9KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworfQorCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpzZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgU3RyaW5nIGNhY2hl
U3RvcmFnZURpcmVjdG9yeSkKIHsKICAgICBpZiAobV9oYXNTZXRDYWNoZU1vZGVsICYmIChjYWNo
ZU1vZGVsID09IG1fY2FjaGVNb2RlbCkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQw
Niw2ICs0MDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3Jl
Z3JvdW5kKCk7CiAKICAgICB2b2lkIHNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCwgU3RyaW5nIG92
ZXJyaWRlQ2FjaGVTdG9yYWdlRGlyZWN0b3J5KTsKKyAgICB2b2lkIHNldENhY2hlTW9kZWxTeW5j
aHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9p
ZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKICAgICB2
b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmljYXRlRm9yV2ViU29ja2V0KGJvb2wsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1MTk4
MCkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDggQEAgbWVzc2FnZXMgLT4gTmV0d29y
a1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZQogICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0
KQogICAgIAogICAgIENsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xl
YXIpCi0gICAgU2V0Q2FjaGVNb2RlbChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpDYWNoZU1vZGVsIGNh
Y2hlTW9kZWwsIFN0cmluZyBvdmVycmlkZUNhY2hlU3RvcmFnZURpcmVjdG9yeSk7CisgICAgU2V0
Q2FjaGVNb2RlbChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIFN0
cmluZyBvdmVycmlkZUNhY2hlU3RvcmFnZURpcmVjdG9yeSkKKyAgICBTZXRDYWNoZU1vZGVsU3lu
Y2hyb25vdXNseUZvclRlc3RpbmcoZW51bTp1aW50OF90IFdlYktpdDo6Q2FjaGVNb2RlbCBjYWNo
ZU1vZGVsKSAtPiAoKSBTeW5jaHJvbm91cwogCiAgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0Jh
Y2tncm91bmQoKQogICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1
MTk4MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU4MCw2ICsxNTgwLDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNl
dENhY2hlTW9kZWwoQ2FjaGUKICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6TmV0d29ya1Byb2Nlc3M6OlNldENhY2hlTW9kZWwoY2FjaGVNb2RlbCwgeyB9KSwgMCk7CiB9
CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVz
dGluZyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCit7CisgICAgdXBkYXRlQmFja0ZvcndhcmRDYWNo
ZUNhcGFjaXR5KCk7CisKKyAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKKyAgICAgICAgbV9uZXR3
b3JrUHJvY2Vzcy0+c2VuZFN5bmMoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRDYWNoZU1v
ZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcoY2FjaGVNb2RlbCksIHsgfSwgeyB9KTsKK30KKwog
dm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0RGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwoZG91
YmxlIHRpbWVvdXRJbnRlcnZhbCkKIHsKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OlNldERlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKHRpbWVvdXRJbnRl
cnZhbCkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShy
ZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODMsNiArMjgzLDggQEAgcHVibGljOgogICAgIFZpc2l0
ZWRMaW5rU3RvcmUmIHZpc2l0ZWRMaW5rU3RvcmUoKSB7IHJldHVybiBtX3Zpc2l0ZWRMaW5rU3Rv
cmUuZ2V0KCk7IH0KIAogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKKyAgICB2
b2lkIHNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsKTsKKwog
CiAgICAgdm9pZCBzZXREZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbChkb3VibGUpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5jcHAJKHJldmlzaW9uIDI1MTk4MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY4MiwzICs2ODIsNyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQWRDbGlja0F0dHJp
CiAgICAgfSk7CiB9CiAKK3ZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2FjaGVNb2RlbFN5bmNo
cm9ub3VzbHlGb3JUZXN0aW5nKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdL
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQoreworICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJl
ZiktPnNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhXZWJLaXQ6OnRvQ2FjaGVN
b2RlbChjYWNoZU1vZGVsKSk7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAkocmV2aXNpb24gMjUxOTgwKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE1MSw2ICsxNTEsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNp
dGVEYXRhU3RvcmVDbGVhckFsCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVDbGVh
ckFkQ2xpY2tBdHRyaWJ1dGlvbnNUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsRnVuY3Rpb24pKHZv
aWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVD
bGVhckFkQ2xpY2tBdHRyaWJ1dGlvbnNUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKFdLV2Vic2l0
ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFT
dG9yZUNsZWFyQWRDbGlja0F0dHJpYnV0aW9uc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5j
dGlvbiBjYWxsYmFjayk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldENh
Y2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0
YVN0b3JlUmVmLCBXS0NhY2hlTW9kZWwgY2FjaGVNb2RlbCk7CisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAkocmV2aXNpb24gMjUxOTgwKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIwNTUsNiArMjA1NSwxMiBAQCB1aW50NjRfdCBXZWJzaXRlRGF0
YVN0b3JlOjpwZXJUaGlyZFBhcnR5CiAgICAgcmV0dXJuIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1h
bmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGFGcm9tUGVyT3JpZ2luUXVvdGEocGVyT3JpZ2lu
U3RvcmFnZVF1b3RhKCkpOwogfQogCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hlTW9k
ZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCit7CisgICAg
Zm9yIChhdXRvIHByb2Nlc3NQb29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygp
KQorICAgICAgICBwcm9jZXNzUG9vbC0+c2V0Q2FjaGVNb2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0
aW5nKGNhY2hlTW9kZWwpOworfQorCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogV2Vic2l0ZURhdGFT
dG9yZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6cGFyYW1ldGVycygpCiB7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5oCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4
LDcgQEAgY2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiBjbGFzcyBX
ZWJQcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7Citl
bnVtIGNsYXNzIENhY2hlTW9kZWwgOiB1aW50OF90OwogZW51bSBjbGFzcyBXZWJzaXRlRGF0YUZl
dGNoT3B0aW9uOwogZW51bSBjbGFzcyBXZWJzaXRlRGF0YVR5cGU7CiBzdHJ1Y3QgV2Vic2l0ZURh
dGFSZWNvcmQ7CkBAIC0xMzgsNiArMTM5LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlRGF0
YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgY29uc3QgVmVjdG9yPFdlYnNpdGVEYXRhUmVj
b3JkPiYsIEZ1bmN0aW9uPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICB2b2lk
IGdldExvY2FsU3RvcmFnZURldGFpbHMoRnVuY3Rpb248dm9pZChWZWN0b3I8TG9jYWxTdG9yYWdl
RGF0YWJhc2VUcmFja2VyOjpPcmlnaW5EZXRhaWxzPiYmKT4mJik7CisgICAgdm9pZCBzZXRDYWNo
ZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcoQ2FjaGVNb2RlbCk7CiAKICNpZiBFTkFCTEUo
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIHZvaWQgZmV0Y2hEYXRhRm9yUmVnaXN0cmFi
bGVEb21haW5zKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25TZXQ8V2Vic2l0ZURh
dGFGZXRjaE9wdGlvbj4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4m
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29yZD4mJiwgSGFz
aFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4mJik+JiYpOwpJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjUyMDA5KQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTkt
MTEtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBGaXggZmxha3kgdGVzdHMgaW4gaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM4MjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJ
bmplY3RlZEJ1bmRsZTo6c2V0Q2FjaGVNb2RlbCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRS
ZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgIChXVFI6OlRlc3RJbnZv
Y2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToK
KwogMjAxOS0xMS0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZsYWt5IEFQSSBUZXN0IFRlc3RXZWJLaXRBUEkuV2ViS2l0LlVwbG9hZERp
cmVjdG9yeQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJ
KHJldmlzaW9uIDI1MTk4MCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDYsMTMgKzU0Niw2IEBAIHZvaWQgVGVzdEludm9j
YXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnIKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0Q2FjaGVN
b2RlbCIpKSB7Ci0gICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tV
SW50NjRHZXRUeXBlSUQoKSk7Ci0gICAgICAgIHVpbnQ2NF90IG1vZGVsID0gV0tVSW50NjRHZXRW
YWx1ZShzdGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4obWVzc2FnZUJvZHkpKTsKLSAgICAgICAgV0tD
b250ZXh0U2V0Q2FjaGVNb2RlbChUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuY29udGV4dCgp
LCBtb2RlbCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAoV0tTdHJpbmdJc0Vx
dWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldEN1c3RvbVBvbGljeURlbGVnYXRlIikp
IHsKICAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25h
cnlHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rp
b25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKQEAgLTg3
OSw2ICs4NzIsMTMgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZAog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxU
b1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0Q2FjaGVNb2RlbCIpKSB7CisgICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tVSW50NjRHZXRUeXBlSUQoKSk7Cisg
ICAgICAgIHVpbnQ2NF90IG1vZGVsID0gV0tVSW50NjRHZXRWYWx1ZShzdGF0aWNfY2FzdDxXS1VJ
bnQ2NFJlZj4obWVzc2FnZUJvZHkpKTsKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2Fj
aGVNb2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKFRlc3RDb250cm9sbGVyOjp3ZWJzaXRlRGF0
YVN0b3JlKCksIG1vZGVsKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAg
aWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJJc1dvcmtRdWV1
ZUVtcHR5IikpIHsKICAgICAgICAgYm9vbCBpc0VtcHR5ID0gVGVzdENvbnRyb2xsZXI6OnNpbmds
ZXRvbigpLndvcmtRdWV1ZU1hbmFnZXIoKS5pc1dvcmtRdWV1ZUVtcHR5KCk7CiAgICAgICAgIFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4gcmVzdWx0ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoaXNF
bXB0eSkpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDI1MTk4MCkKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MjUsNyArOTI1LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Q2Fj
aGVNb2RlbChpbnQgbQogewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFt
ZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldENhY2hlTW9kZWwi
KSk7CiAgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IG1lc3NhZ2VCb2R5ID0gYWRvcHRXSyhX
S1VJbnQ2NENyZWF0ZShtb2RlbCkpOwotICAgIFdLQnVuZGxlUGFnZVBvc3RNZXNzYWdlKHBhZ2Uo
KS0+cGFnZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCkpOworICAgIFdL
QnVuZGxlUGFnZVBvc3RTeW5jaHJvbm91c01lc3NhZ2VGb3JUZXN0aW5nKHBhZ2UoKS0+cGFnZSgp
LCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwogfQogCiBi
b29sIEluamVjdGVkQnVuZGxlOjpzaG91bGRQcm9jZXNzV29ya1F1ZXVlKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382803</attachid>
            <date>2019-11-04 20:03:59 -0800</date>
            <delta_ts>2019-11-08 06:43:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203822-20191105040358.patch</filename>
            <type>text/plain</type>
            <size>11996</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IGZsYWt5IHRl
c3RzIGluIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzODIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmlnaHQgbm93IHRlc3RzIHRoYXQgc2V0IHRoZSBj
YWNoZSBtb2RlbCBkbyBzbyB1c2luZyBhIHJhY2UgY29uZGl0aW9uLiAgSSB0aGluayB0aGlzIHdp
bGwgZml4IHRoZSBmbGFreW5lc3Mgd2UndmUgb2JzZXJ2ZWQuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpzZXRDYWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
V2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRD
YWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0Q2FjaGVN
b2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hlTW9k
ZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwogMjAxOS0xMS0wMyAgSmlld2VuIFRhbiAgPGppZXdl
bl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gQ3RhcEF1dGhlbnRpY2F0b3I6
OnRyeURvd25ncmFkZSBzaG91bGQgZGlzdGluZ3Vpc2ggcmVxdWVzdERhdGEoKS5vcHRpb25zCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cAkocmV2aXNpb24gMjUxOTgwKQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OTMsNiArMTk5MywxMiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpjb250aW51ZURlY2lkZVBlbmRpCiAgICAgICAgIGRvd25sb2FkTWFu
YWdlcigpLmNvbnRpbnVlRGVjaWRlUGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oZG93bmxvYWRJ
RCwgZGVzdGluYXRpb24sIFdURk1vdmUoc2FuZGJveEV4dGVuc2lvbkhhbmRsZSksIGFsbG93T3Zl
cndyaXRlKTsKIH0KIAordm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbFN5bmNocm9u
b3VzbHlGb3JUZXN0aW5nKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIHNldENhY2hlTW9kZWwoY2FjaGVN
b2RlbCwgeyB9KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworfQorCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpzZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgU3RyaW5nIGNhY2hl
U3RvcmFnZURpcmVjdG9yeSkKIHsKICAgICBpZiAobV9oYXNTZXRDYWNoZU1vZGVsICYmIChjYWNo
ZU1vZGVsID09IG1fY2FjaGVNb2RlbCkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQw
Niw2ICs0MDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3Jl
Z3JvdW5kKCk7CiAKICAgICB2b2lkIHNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCwgU3RyaW5nIG92
ZXJyaWRlQ2FjaGVTdG9yYWdlRGlyZWN0b3J5KTsKKyAgICB2b2lkIHNldENhY2hlTW9kZWxTeW5j
aHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9p
ZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKICAgICB2
b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmljYXRlRm9yV2ViU29ja2V0KGJvb2wsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1MTk4
MCkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDggQEAgbWVzc2FnZXMgLT4gTmV0d29y
a1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZQogICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRl
Rm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0
KQogICAgIAogICAgIENsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xl
YXIpCi0gICAgU2V0Q2FjaGVNb2RlbChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpDYWNoZU1vZGVsIGNh
Y2hlTW9kZWwsIFN0cmluZyBvdmVycmlkZUNhY2hlU3RvcmFnZURpcmVjdG9yeSk7CisgICAgU2V0
Q2FjaGVNb2RlbChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIFN0
cmluZyBvdmVycmlkZUNhY2hlU3RvcmFnZURpcmVjdG9yeSkKKyAgICBTZXRDYWNoZU1vZGVsU3lu
Y2hyb25vdXNseUZvclRlc3RpbmcoZW51bTp1aW50OF90IFdlYktpdDo6Q2FjaGVNb2RlbCBjYWNo
ZU1vZGVsKSAtPiAoKSBTeW5jaHJvbm91cwogCiAgICAgUHJvY2Vzc0RpZFRyYW5zaXRpb25Ub0Jh
Y2tncm91bmQoKQogICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1
MTk4MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU4MCw2ICsxNTgwLDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNl
dENhY2hlTW9kZWwoQ2FjaGUKICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6TmV0d29ya1Byb2Nlc3M6OlNldENhY2hlTW9kZWwoY2FjaGVNb2RlbCwgeyB9KSwgMCk7CiB9
CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVz
dGluZyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCit7CisgICAgdXBkYXRlQmFja0ZvcndhcmRDYWNo
ZUNhcGFjaXR5KCk7CisKKyAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKKyAgICAgICAgbV9uZXR3
b3JrUHJvY2Vzcy0+c2VuZFN5bmMoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRDYWNoZU1v
ZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcoY2FjaGVNb2RlbCksIHsgfSwgeyB9KTsKK30KKwog
dm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0RGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwoZG91
YmxlIHRpbWVvdXRJbnRlcnZhbCkKIHsKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OlNldERlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKHRpbWVvdXRJbnRl
cnZhbCkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShy
ZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODMsNiArMjgzLDggQEAgcHVibGljOgogICAgIFZpc2l0
ZWRMaW5rU3RvcmUmIHZpc2l0ZWRMaW5rU3RvcmUoKSB7IHJldHVybiBtX3Zpc2l0ZWRMaW5rU3Rv
cmUuZ2V0KCk7IH0KIAogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKKyAgICB2
b2lkIHNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhDYWNoZU1vZGVsKTsKKwog
CiAgICAgdm9pZCBzZXREZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbChkb3VibGUpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5jcHAJKHJldmlzaW9uIDI1MTk4MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY4MiwzICs2ODIsNyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQWRDbGlja0F0dHJp
CiAgICAgfSk7CiB9CiAKK3ZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2FjaGVNb2RlbFN5bmNo
cm9ub3VzbHlGb3JUZXN0aW5nKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdL
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQoreworICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJl
ZiktPnNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVzdGluZyhXZWJLaXQ6OnRvQ2FjaGVN
b2RlbChjYWNoZU1vZGVsKSk7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAkocmV2aXNpb24gMjUxOTgwKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDggQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAK
K3R5cGVkZWYgdWludDMyX3QgV0tDYWNoZU1vZGVsOworCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tX
ZWJzaXRlRGF0YVN0b3JlR2V0VHlwZUlEKCk7CiAKIFdLX0VYUE9SVCBXS1dlYnNpdGVEYXRhU3Rv
cmVSZWYgV0tXZWJzaXRlRGF0YVN0b3JlR2V0RGVmYXVsdERhdGFTdG9yZSgpOwpAQCAtMTUxLDYg
KzE1Myw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQWwKIHR5cGVk
ZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQWRDbGlja0F0dHJpYnV0aW9uc1Rocm91
Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdL
X0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQWRDbGlja0F0dHJpYnV0aW9uc1Ro
cm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
Ziwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlQ2xlYXJBZENsaWNrQXR0cmlidXRp
b25zVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKTsKIAorV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2FjaGVNb2RlbFN5bmNocm9ub3VzbHlGb3JU
ZXN0aW5nKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwCShyZXZpc2lvbiAyNTE5ODApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA1NSw2
ICsyMDU1LDEyIEBAIHVpbnQ2NF90IFdlYnNpdGVEYXRhU3RvcmU6OnBlclRoaXJkUGFydHkKICAg
ICByZXR1cm4gV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6ZGVmYXVsdFRoaXJkUGFydHlR
dW90YUZyb21QZXJPcmlnaW5RdW90YShwZXJPcmlnaW5TdG9yYWdlUXVvdGEoKSk7CiB9CiAKK3Zv
aWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVNb2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5n
KENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKK3sKKyAgICBmb3IgKGF1dG8gcHJvY2Vzc1Bvb2wgOiBX
ZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAgICAgIHByb2Nlc3NQb29sLT5z
ZXRDYWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRlc3RpbmcoY2FjaGVNb2RlbCk7Cit9CisKICNp
ZiAhUExBVEZPUk0oQ09DT0EpCiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0
YVN0b3JlOjpwYXJhbWV0ZXJzKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDI1MTk4
MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBjbGFzcyBXZWJQYWdlUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUG9vbDsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIGNsYXNzIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsKK2VudW0gY2xhc3MgQ2FjaGVNb2RlbCA6IHVp
bnQ4X3Q7CiBlbnVtIGNsYXNzIFdlYnNpdGVEYXRhRmV0Y2hPcHRpb247CiBlbnVtIGNsYXNzIFdl
YnNpdGVEYXRhVHlwZTsKIHN0cnVjdCBXZWJzaXRlRGF0YVJlY29yZDsKQEAgLTEzOCw2ICsxMzks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5
cGU+LCBjb25zdCBWZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+JiwgRnVuY3Rpb248dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKTsKIAogICAgIHZvaWQgZ2V0TG9jYWxTdG9yYWdlRGV0YWlscyhG
dW5jdGlvbjx2b2lkKFZlY3RvcjxMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXI6Ok9yaWdpbkRl
dGFpbHM+JiYpPiYmKTsKKyAgICB2b2lkIHNldENhY2hlTW9kZWxTeW5jaHJvbm91c2x5Rm9yVGVz
dGluZyhDYWNoZU1vZGVsKTsKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
CiAgICAgdm9pZCBmZXRjaERhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMoT3B0aW9uU2V0PFdlYnNp
dGVEYXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiwgY29uc3QgVmVj
dG9yPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
VmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPiYmLCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluPiYmKT4mJik7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTIwMDkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0xMS0wNCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBmbGFreSB0ZXN0cyBpbiBo
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMzgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpzZXRDYWNoZU1v
ZGVsKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJv
bm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE5LTExLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRmxha3kgQVBJIFRl
c3QgVGVzdFdlYktpdEFQSS5XZWJLaXQuVXBsb2FkRGlyZWN0b3J5CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkocmV2aXNpb24gMjUxOTgwKQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0NiwxMyArNTQ2LDYgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VG
cgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRDYWNoZU1vZGVsIikpIHsKLSAgICAgICAgQVNTRVJU
KFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1VJbnQ2NEdldFR5cGVJRCgpKTsKLSAgICAg
ICAgdWludDY0X3QgbW9kZWwgPSBXS1VJbnQ2NEdldFZhbHVlKHN0YXRpY19jYXN0PFdLVUludDY0
UmVmPihtZXNzYWdlQm9keSkpOwotICAgICAgICBXS0NvbnRleHRTZXRDYWNoZU1vZGVsKFRlc3RD
b250cm9sbGVyOjpzaW5nbGV0b24oKS5jb250ZXh0KCksIG1vZGVsKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiU2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUiKSkgewogICAgICAgICBBU1NFUlQoV0tHZXRU
eXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKICAgICAgICAg
V0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGlj
dGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOwpAQCAtODc5LDYgKzg3MiwxMyBAQCBXS1JldGFpblB0
cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUs
ICJTZXRDYWNoZU1vZGVsIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VC
b2R5KSA9PSBXS1VJbnQ2NEdldFR5cGVJRCgpKTsKKyAgICAgICAgdWludDY0X3QgbW9kZWwgPSBX
S1VJbnQ2NEdldFZhbHVlKHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihtZXNzYWdlQm9keSkpOwor
ICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRDYWNoZU1vZGVsU3luY2hyb25vdXNseUZvclRl
c3RpbmcoVGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUoKSwgbW9kZWwpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4
Q1N0cmluZyhtZXNzYWdlTmFtZSwgIklzV29ya1F1ZXVlRW1wdHkiKSkgewogICAgICAgICBib29s
IGlzRW1wdHkgPSBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkud29ya1F1ZXVlTWFuYWdlcigp
LmlzV29ya1F1ZXVlRW1wdHkoKTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiByZXN1
bHQgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShpc0VtcHR5KSk7CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAkocmV2aXNpb24gMjUxOTgwKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyNSw3ICs5MjUs
NyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDYWNoZU1vZGVsKGludCBtCiB7CiAgICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiU2V0Q2FjaGVNb2RlbCIpKTsKICAgICBXS1JldGFpblB0cjxXS1VJ
bnQ2NFJlZj4gbWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKG1vZGVsKSk7Ci0g
ICAgV0tCdW5kbGVQYWdlUG9zdE1lc3NhZ2UocGFnZSgpLT5wYWdlKCksIG1lc3NhZ2VOYW1lLmdl
dCgpLCBtZXNzYWdlQm9keS5nZXQoKSk7CisgICAgV0tCdW5kbGVQYWdlUG9zdFN5bmNocm9ub3Vz
TWVzc2FnZUZvclRlc3RpbmcocGFnZSgpLT5wYWdlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNz
YWdlQm9keS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OnNob3Vs
ZFByb2Nlc3NXb3JrUXVldWUoKSBjb25zdAo=
</data>
<flag name="review"
          id="398570"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>