<?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>108567</bug_id>
          
          <creation_ts>2013-01-31 19:39:31 -0800</creation_ts>
          <short_desc>[V8] Add a temporary optional Isolate parameter to HasInstance()</short_desc>
          <delta_ts>2013-02-01 00:47:34 -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>WebCore JavaScript</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>822246</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-31 19:39:31 -0800</bug_when>
    <thetext>The optional Isolate parameter will be removed once all call sites have an Isolate. It will require several patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822248</commentid>
    <comment_count>1</comment_count>
      <attachid>185919</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-31 19:41:54 -0800</bug_when>
    <thetext>Created attachment 185919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822431</commentid>
    <comment_count>2</comment_count>
      <attachid>185919</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-01 00:30:26 -0800</bug_when>
    <thetext>Comment on attachment 185919
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [V8] Add a temporal optional Isolate parameter to HasInstance()

temporal -&gt; temporary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822448</commentid>
    <comment_count>3</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-01 00:47:34 -0800</bug_when>
    <thetext>Committed r141553: &lt;http://trac.webkit.org/changeset/141553&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185919</attachid>
            <date>2013-01-31 19:41:54 -0800</date>
            <delta_ts>2013-02-01 00:30:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108567-20130201123836.patch</filename>
            <type>text/plain</type>
            <size>33541</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZiNGI1YWQ3MWJmYTI2
MjFjMjJmNDZmNDY1YTFjNTlkOWU1N2NhMy4uYzQ0MGU4NTk4YTZkYTYzNjM5NjA4YTdmMmQzNWFj
MDE3OTM3MzdmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc5IEBACiAyMDEzLTAxLTMxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIEFkZCBhIHRl
bXBvcmFsIG9wdGlvbmFsIElzb2xhdGUgcGFyYW1ldGVyIHRvIEhhc0luc3RhbmNlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODU2NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvcHRpb25hbCBJ
c29sYXRlIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgb25jZSBhbGwgY2FsbCBzaXRlcyBoYXZl
IGFuIElzb2xhdGUuCisgICAgICAgIEl0IHdpbGwgcmVxdWlyZSBzZXZlcmFsIHBhdGNoZXMuCisK
KyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFk
ZXIpOgorICAgICAgICAoR2VuZXJhdGVOb3JtYWxBdHRyU2V0dGVyKToKKyAgICAgICAgKEdlbmVy
YXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRl
cnNDaGVjayk6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhGbG9hdDY0QXJyYXk6Okhhc0luc3RhbmNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgKFY4RmxvYXQ2NEFycmF5
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEFjdGl2ZURPTU9iamVjdDo6SGFzSW5z
dGFuY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVE
T01PYmplY3QuaDoKKyAgICAgICAgKFY4VGVzdEFjdGl2ZURPTU9iamVjdCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpIYXNJbnN0YW5jZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVy
Lmg6CisgICAgICAgIChWOFRlc3RDdXN0b21OYW1lZEdldHRlcik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SGFzSW5zdGFuY2UpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmg6CisgICAg
ICAgIChWOFRlc3RFdmVudENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0
RXZlbnRUYXJnZXQ6Okhhc0luc3RhbmNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50VGFyZ2V0KToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEV4Y2VwdGlvbjo6SGFzSW5zdGFuY2UpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaDoKKyAgICAgICAg
KFY4VGVzdEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZhY2U6Okhh
c0luc3RhbmNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50
ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6Okhhc0luc3RhbmNlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5oOgorICAgICAgICAoVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6SGFzSW5zdGFuY2Up
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmg6CisgICAgICAgIChWOFRlc3ROYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OFRlc3ROb2RlOjpIYXNJbnN0YW5jZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE5vZGUuaDoKKyAgICAgICAgKFY4VGVzdE5vZGUpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVz
dE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2RDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6dmFyaWFkaWNOb2RlTWV0aG9kQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6VjhUZXN0T2JqOjpIYXNJbnN0YW5jZSk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oOgorICAgICAgICAoVjhUZXN0T2JqKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM6Okhhc0luc3RhbmNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oOgorICAgICAgICAoVjhUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6Okhhc0luc3RhbmNl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UpOgorCisyMDEzLTAxLTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQxNTAyLgogICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNDE1MDIKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODQ0MQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCAyMDFi
M2U0NTFjNmFiYjk4ODA3MzhlNjUwMzI0OWNlMmY4OWI2YzNiLi5jZTI1N2QzNjBiN2ZmMjdmZWFi
OTRhOTZjMjFmNWFjNjQ5YmM4MDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMzUzLDcgKzM1Myw3IEBAIEVORAogICAg
IH0KIAogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKLSAgICBzdGF0aWMgYm9vbCBI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4pOworICAgIHN0YXRpYyBib29sIEhhc0lu
c3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3Rh
dGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSh2
ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IEdldFRlbXBsYXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyAke25h
dGl2ZVR5cGV9KiB0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKQEAgLTEx
NzUsNyArMTE3NSw3IEBAIHN1YiBHZW5lcmF0ZU5vcm1hbEF0dHJTZXR0ZXIKICAgICBpZiAoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3RyaWN0VHlwZUNoZWNr
aW5nIn0pIHsKICAgICAgICAgbXkgJGFyZ1R5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5
cGU7CiAgICAgICAgIGlmIChJc1dyYXBwZXJUeXBlKCRhcmdUeXBlKSkgewotICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKHZhbHVl
KSAmJiAhVjgke2FyZ1R5cGV9OjpIYXNJbnN0YW5jZSh2YWx1ZSkpIHtcbiIpOworICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKHZh
bHVlKSAmJiAhVjgke2FyZ1R5cGV9OjpIYXNJbnN0YW5jZSh2YWx1ZSwgaW5mby5HZXRJc29sYXRl
KCkpKSB7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAg
IHRocm93VHlwZUVycm9yKDAsIGluZm8uR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIH1cbiIpOwpAQCAtMTQyNiw5ICsxNDI2LDkg
QEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2lmIChJc1dyYXBwZXJUeXBlKCR0eXBlKSkgewogICAgICAgICAgICAgaWYg
KCRwYXJhbWV0ZXItPmlzTnVsbGFibGUpIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBhbmRFeHBy
ZXNzaW9uLCAiKCR7dmFsdWV9LT5Jc051bGwoKSB8fCBWOCR7dHlwZX06Okhhc0luc3RhbmNlKCR2
YWx1ZSkpIik7CisgICAgICAgICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVl
fS0+SXNOdWxsKCkgfHwgVjgke3R5cGV9OjpIYXNJbnN0YW5jZSgkdmFsdWUsIGFyZ3MuR2V0SXNv
bGF0ZSgpKSkiKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChA
YW5kRXhwcmVzc2lvbiwgIihWOCR7dHlwZX06Okhhc0luc3RhbmNlKCR2YWx1ZSkpIik7CisgICAg
ICAgICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIihWOCR7dHlwZX06Okhhc0luc3RhbmNl
KCR2YWx1ZSwgYXJncy5HZXRJc29sYXRlKCkpKSIpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKQEAgLTE4MDMsNyArMTgwMyw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAg
ICAgICAgICAgaWYgKElzV3JhcHBlclR5cGUoJGFyZ1R5cGUpKSB7CiAgICAgICAgICAgICAgICAg
JHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgVmVjdG9yPCRuYXRpdmVFbGVtZW50VHlwZT4g
JHBhcmFtZXRlck5hbWU7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmlu
ZyAuPSAiICAgIGZvciAoaW50IGkgPSAkcGFyYW1JbmRleDsgaSA8IGFyZ3MuTGVuZ3RoKCk7ICsr
aSkge1xuIjsKLSAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAg
ICAgaWYgKCFWOCR7YXJnVHlwZX06Okhhc0luc3RhbmNlKGFyZ3NbaV0pKVxuIjsKKyAgICAgICAg
ICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgaWYgKCFWOCR7YXJnVHlw
ZX06Okhhc0luc3RhbmNlKGFyZ3NbaV0sIGFyZ3MuR2V0SXNvbGF0ZSgpKSlcbiI7CiAgICAgICAg
ICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICAgICByZXR1cm4gdGhy
b3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKICAgICAgICAgICAgICAgICAk
cGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgJHBhcmFtZXRlck5hbWUuYXBwZW5kKFY4
JHthcmdUeXBlfTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzW2ld
KSkpO1xuIjsKICAgICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICB9
XG4iOwpAQCAtMTgyNCw3ICsxODI0LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAg
ICAgICAgICAgICAgICAgbXkgJGFyZ1ZhbHVlID0gImFyZ3NbJHBhcmFtSW5kZXhdIjsKICAgICAg
ICAgICAgICAgICBteSAkYXJnVHlwZSA9ICRwYXJhbWV0ZXItPnR5cGU7CiAgICAgICAgICAgICAg
ICAgaWYgKElzV3JhcHBlclR5cGUoJGFyZ1R5cGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICRw
YXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHBhcmFtSW5k
ZXggJiYgIWlzVW5kZWZpbmVkT3JOdWxsKCRhcmdWYWx1ZSkgJiYgIVY4JHthcmdUeXBlfTo6SGFz
SW5zdGFuY2UoJGFyZ1ZhbHVlKSlcbiI7CisgICAgICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJD
aGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpID4gJHBhcmFtSW5kZXggJiYgIWlz
VW5kZWZpbmVkT3JOdWxsKCRhcmdWYWx1ZSkgJiYgIVY4JHthcmdUeXBlfTo6SGFzSW5zdGFuY2Uo
JGFyZ1ZhbHVlLCBhcmdzLkdldElzb2xhdGUoKSkpXG4iOwogICAgICAgICAgICAgICAgICAgICAk
cGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKDAs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQpAQCAtMzE0OCw5ICszMTQ4LDkgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxh
dGU+ICR7djhJbnRlcmZhY2VOYW1lfTo6R2V0VGVtcGxhdGUodjg6Oklzb2xhdGUKICAgICByZXR1
cm4gdGVtcGw7CiB9CiAKLWJvb2wgJHt2OEludGVyZmFjZU5hbWV9OjpIYXNJbnN0YW5jZSh2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCitib29sICR7djhJbnRlcmZhY2VOYW1lfTo6SGFzSW5z
dGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkK
IHsKLSAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2UodmFsdWUpOworICAg
IHJldHVybiBHZXRSYXdUZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2UodmFsdWUpOwogfQog
CiBFTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOEZsb2F0NjRBcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCmluZGV4IDJlOTIyZmY0Y2RmYTVkYjQ4NzQyZGUwNjRm
ZmM2MjFhNjY4M2Q3YjQuLjBhYTljNTQ0ZGM2YjFiZjkwYzc1NWEwYjM1ZDQ2M2UyZDJlMDEwZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZs
b2F0NjRBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApAQCAtMTYzLDkgKzE2Myw5IEBAIHY4OjpQZXJzaXN0ZW50
PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOEZsb2F0NjRBcnJheTo6R2V0VGVtcGxhdGUodjg6Oklz
b2xhdGUqIGlzCiAgICAgcmV0dXJuIHRlbXBsOwogfQogCi1ib29sIFY4RmxvYXQ2NEFycmF5OjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCitib29sIFY4RmxvYXQ2NEFy
cmF5OjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewotICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZSgpLT5IYXNJbnN0YW5jZSh2
YWx1ZSk7CisgICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKGlzb2xhdGUpLT5IYXNJbnN0YW5jZSh2
YWx1ZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaAppbmRleCA5Njk2ZmJhYmUzMjE4YTNlZmNkNjMz
OTA5ZGZkMDU4MWJkNTY1MGMxLi4wZGQ5ZWZjOGIwYjhkZDYyZDZmYWFmMDkwNzRhM2YzNDc2NDg4
NGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhGbG9hdDY0QXJyYXkuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBWOEZsb2F0NjRBcnJheSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSBWOEFycmF5QnVmZmVyVmlldzo6aGFzRGVwZW5kZW50
TGlmZXRpbWU7Ci0gICAgc3RhdGljIGJvb2wgSGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFs
dWU+KTsKKyAgICBzdGF0aWMgYm9vbCBIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4s
IHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rp
b25UZW1wbGF0ZT4gR2V0UmF3VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRUZW1wbGF0ZSh2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgRmxvYXQ2NEFycmF5KiB0b05hdGl2ZSh2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5k
ZXggMGI3ZjNkOTBkMjVmYTAxYWU2Y2Q5MzRiMzUzYmFhODhhMGQzMzU0YS4uNDUxMTcwYTdkYTRh
NDQwMWQ3ZDM3MGEwODRhNGNiOGUzYjdhZmNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9i
amVjdC5jcHAKQEAgLTE5MSw5ICsxOTEsOSBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4gVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1wbGF0ZSh2ODo6SXNvbAogICAg
IHJldHVybiB0ZW1wbDsKIH0KIAotYm9vbCBWOFRlc3RBY3RpdmVET01PYmplY3Q6Okhhc0luc3Rh
bmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wgVjhUZXN0QWN0aXZlRE9NT2Jq
ZWN0OjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewotICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZSgpLT5IYXNJbnN0YW5jZSh2
YWx1ZSk7CisgICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKGlzb2xhdGUpLT5IYXNJbnN0YW5jZSh2
YWx1ZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IDRhNDIzNzEx
MWNiYzlhMmUxZmM0MTdmYTEyOWU4ZGE2MzAyMmQ1NWEuLjcyZWZlMGNlZjdjYzcwYzYyMWNiMzZj
NmRiMDc5NjhhMDNkMjM4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTM0
LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgVjhUZXN0QWN0aXZlRE9NT2Jq
ZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgYm9vbCBoYXNEZXBlbmRlbnRMaWZldGlt
ZSA9IGZhbHNlOwotICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZh
bHVlPik7CisgICAgc3RhdGljIGJvb2wgSGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+
LCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+IEdldFJhd1RlbXBsYXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRp
YyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0VGVtcGxhdGUodjg6Oklz
b2xhdGUqID0gMCk7CiAgICAgc3RhdGljIFRlc3RBY3RpdmVET01PYmplY3QqIHRvTmF0aXZlKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5jcHAKaW5kZXggNzg2MjE5NzJjOWQ4MTVhMWI0MjA3Y2I1M2YxNWEyMGQ5Mzc2MzE0NS4u
MTFmMTZmOGNlMGM5ODUwNDc5OTMxNmZiYjhmYjJhYmI1MjJmODM3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0xMjksOSArMTI5LDkgQEAgdjg6OlBlcnNpc3Rl
bnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpHZXRUZW1w
bGF0ZSh2ODo6SXMKICAgICByZXR1cm4gdGVtcGw7CiB9CiAKLWJvb2wgVjhUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXI6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wg
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7Ci0gICAgcmV0dXJuIEdldFJhd1RlbXBs
YXRlKCktPkhhc0luc3RhbmNlKHZhbHVlKTsKKyAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoaXNv
bGF0ZSktPkhhc0luc3RhbmNlKHZhbHVlKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1l
ZEdldHRlci5oCmluZGV4IGM2NDVhNzkwODUyYThmMGIwYzk0MmY3YmU3NTZiZTQ1NzVhMGI4MTEu
LmY0YjU0MDIyNGY3MmQ3ZDAyMTU0MzJhMzRkOWU5NTlhY2RjMGNhZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
Y29uc3QgYm9vbCBoYXNEZXBlbmRlbnRMaWZldGltZSA9IGZhbHNlOwotICAgIHN0YXRpYyBib29s
IEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPik7CisgICAgc3RhdGljIGJvb2wgSGFz
SW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBz
dGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFJhd1RlbXBsYXRl
KHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rp
b25UZW1wbGF0ZT4gR2V0VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIFRl
c3RDdXN0b21OYW1lZEdldHRlciogdG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZTMyMzRmNjI3OWJl
NjY2ZWNkYmE5OWQ3NTM4YjRjODFhM2MyMDBkZS4uN2RkYTI3YTA2NzQ2YTNiYjZkZGVmYzU2NWNl
YTQwOTRmMjFhMDZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAt
MTYxLDkgKzE2MSw5IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOFRl
c3RFdmVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSh2ODo6SXNvCiAgICAgcmV0dXJuIHRlbXBs
OwogfQogCi1ib29sIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6Okhhc0luc3RhbmNlKHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SGFzSW5z
dGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkK
IHsKLSAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2UodmFsdWUpOworICAg
IHJldHVybiBHZXRSYXdUZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2UodmFsdWUpOwogfQog
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IGIyYWU2MTYzMjYxODgxYzA1
ZmQ4MWRiMzBiYmY4OTQyYzcyMDQzY2QuLjJlZmE2YTU5ZjZlNWMxYzkwM2ZmZmQ1ZjY4ODNhMDU5
ZGE5MDcxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAtMzUsNyArMzUs
NyBAQCBjbGFzcyBEaWN0aW9uYXJ5OwogY2xhc3MgVjhUZXN0RXZlbnRDb25zdHJ1Y3RvciB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSBmYWxz
ZTsKLSAgICBzdGF0aWMgYm9vbCBIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4pOwor
ICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiwgdjg6Oklz
b2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBHZXRSYXdUZW1wbGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFRlbXBsYXRlKHY4OjpJc29sYXRlKiA9
IDApOwogICAgIHN0YXRpYyBUZXN0RXZlbnRDb25zdHJ1Y3RvciogdG9OYXRpdmUodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCA1ODA1
MmNkMDkzZDM4YWU3NzQwM2YwNzA2YTQ5ZWMwYTRhZDk4MDI2Li4xYWM3NWFiNjFiNjBjYWYwOTJh
NzQ5NWY3ZTdmNDkwMWY1Nzc5Yjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTE5
MCw5ICsxOTAsOSBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhUZXN0
RXZlbnRUYXJnZXQ6OkdldFRlbXBsYXRlKHY4OjpJc29sYXRlKgogICAgIHJldHVybiB0ZW1wbDsK
IH0KIAotYm9vbCBWOFRlc3RFdmVudFRhcmdldDo6SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHZhbHVlKQorYm9vbCBWOFRlc3RFdmVudFRhcmdldDo6SGFzSW5zdGFuY2Uodjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICByZXR1
cm4gR2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2UodmFsdWUpOworICAgIHJldHVybiBHZXRS
YXdUZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2UodmFsdWUpOwogfQogCiBFdmVudFRhcmdl
dCogVjhUZXN0RXZlbnRUYXJnZXQ6OnRvRXZlbnRUYXJnZXQodjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oCmluZGV4IDVjYTdiYzE3ODUxZGZhNWVlNTdi
OWQ0OWQxNzE1MDUyNWQ4YmNjOWIuLjRiYzNlZDk5OGI3MTY2MWJmZWE5M2U2YjI4MzBmOWY2OWFh
MzAyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFY4VGVzdEV2ZW50VGFyZ2V0IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3QgYm9vbCBoYXNEZXBlbmRlbnRMaWZldGltZSA9IGZhbHNlOwotICAgIHN0YXRpYyBi
b29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPik7CisgICAgc3RhdGljIGJvb2wg
SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0ZSogPSAwKTsKICAg
ICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFJhd1RlbXBs
YXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4gR2V0VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGlj
IFRlc3RFdmVudFRhcmdldCogdG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFeGNlcHRpb24uY3BwCmluZGV4IDI2MTQzNzRmNTJiZTY1YjI2OGU3ODExZWVmMzg3
OGZhZmFhYjEzYmMuLjg3YmM0MjBhNTg4MDFhODNiZDAyZjY1YmFiM2E0M2JkY2U4NDMyNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
eGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFeGNlcHRpb24uY3BwCkBAIC0xMjAsOSArMTIwLDkgQEAgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4VGVzdEV4Y2VwdGlvbjo6R2V0VGVtcGxhdGUodjg6Oklz
b2xhdGUqIGkKICAgICByZXR1cm4gdGVtcGw7CiB9CiAKLWJvb2wgVjhUZXN0RXhjZXB0aW9uOjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCitib29sIFY4VGVzdEV4Y2Vw
dGlvbjo6SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0
ZSogaXNvbGF0ZSkKIHsKLSAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2Uo
dmFsdWUpOworICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2Uo
dmFsdWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaAppbmRleCBmNWVlYTkxOWZmZGMzZTAyZDQ1
MTlmNzVlN2IwZTdjNDU5OTk2MWRhLi45ZmYyYTQyNmMyZWIyZmMzNjQ4YjVlNDY0NGIyNGEzNDYz
YTUyMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXhjZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIFY4VGVzdEV4Y2VwdGlvbiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSBmYWxzZTsKLSAgICBzdGF0aWMgYm9vbCBI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4pOworICAgIHN0YXRpYyBib29sIEhhc0lu
c3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3Rh
dGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSh2
ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IEdldFRlbXBsYXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyBUZXN0
RXhjZXB0aW9uKiB0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRl
cmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEludGVyZmFjZS5jcHAKaW5kZXggZmMwODZhNTk4OWRmNmM0ZjYzOGRjN2YzZGQxOTBlNTdhZDQ1
MmJlOS4uZDFjY2QwYzNhOWY2MmFjMTcwMTg5ODlkMzZhNzhmZTc1OWUxMDkyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEludGVyZmFjZS5jcHAKQEAgLTM0NSw5ICszNDUsOSBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4gVjhUZXN0SW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSh2ODo6SXNvbGF0ZSog
aQogICAgIHJldHVybiB0ZW1wbDsKIH0KIAotYm9vbCBWOFRlc3RJbnRlcmZhY2U6Okhhc0luc3Rh
bmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wgVjhUZXN0SW50ZXJmYWNlOjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewotICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZSgpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CisgICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKGlzb2xhdGUpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CiB9CiAKIEFjdGl2ZURPTU9iamVjdCogVjhUZXN0SW50ZXJmYWNlOjp0b0FjdGl2ZURPTU9iamVj
dCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAppbmRleCBj
MDdiMDMyZTQ0ZTIyOGI4ZGI3MTY2N2QxMzc0NmI4NDM5NDAwMTgwLi5hMWRhMTI3ODY4MzIxNDY4
NTA1NzBlZDRiM2JjZGMzMTVhZjBlODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCkBAIC0zNiw3ICsz
Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFY4VGVzdEludGVyZmFjZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSB0cnVlOwot
ICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPik7CisgICAg
c3RhdGljIGJvb2wgSGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+LCB2ODo6SXNvbGF0
ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+
IEdldFJhd1RlbXBsYXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2ODo6UGVyc2lz
dGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7
CiAgICAgc3RhdGljIFRlc3RJbnRlcmZhY2UqIHRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
CmluZGV4IGM2Y2U4ZDg0NmZjNzFjMjJhNzA0MDY1MWExODUxOWM1YWVmYTBhOWYuLjI0MTU1Y2E2
ZjU0YjI2YTgzOWI5NDg3OTJlMmNhYTc3ODVhYzNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTEyOSw5ICsxMjksOSBAQCB2ODo6UGVyc2lz
dGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6
R2V0VGVtcGxhdGUodgogICAgIHJldHVybiB0ZW1wbDsKIH0KIAotYm9vbCBWOFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyOjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUp
Citib29sIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6Okhhc0luc3RhbmNlKHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7Ci0gICAgcmV0dXJu
IEdldFJhd1RlbXBsYXRlKCktPkhhc0luc3RhbmNlKHZhbHVlKTsKKyAgICByZXR1cm4gR2V0UmF3
VGVtcGxhdGUoaXNvbGF0ZSktPkhhc0luc3RhbmNlKHZhbHVlKTsKIH0KIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAppbmRleCA4YWRiMjU2M2FiMzM2ZjcyODI2
NTJjZjI1MjdmOWMwYjFkOTFhNTU0Li42N2ExYmMzNjgwMzNkZGVkOTQwYjU5MDUxNDBmODAzZWEy
M2VhYWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAg
LTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgVjhUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzRGVwZW5k
ZW50TGlmZXRpbWUgPSBmYWxzZTsKLSAgICBzdGF0aWMgYm9vbCBIYXNJbnN0YW5jZSh2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4pOworICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8
djg6OlZhbHVlPiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50
PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsK
ICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFRlbXBs
YXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lciogdG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNWZlZWFjNmQ1NjRkNTczYjYyNWI2ZWQxMDhj
NWVhZWI5NzQ0MGQ5Mi4uODRmZGUxNDQ1MTllNWU1MjllMTU0Y2RlODkzZTUzODc3ZmRjMTkwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtMTY1LDkgKzE2NSw5IEBA
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOFRlc3ROYW1lZENvbnN0cnVj
dG9yOjpHZXRUZW1wbGF0ZSh2ODo6SXNvCiAgICAgcmV0dXJuIHRlbXBsOwogfQogCi1ib29sIFY4
VGVzdE5hbWVkQ29uc3RydWN0b3I6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2
YWx1ZSkKK2Jvb2wgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6SGFzSW5zdGFuY2Uodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICByZXR1cm4g
R2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2UodmFsdWUpOworICAgIHJldHVybiBHZXRSYXdU
ZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2UodmFsdWUpOwogfQogCiBBY3RpdmVET01PYmpl
Y3QqIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKaW5kZXgg
M2IzMTQxMjgxNmRjZmU4MTczYWYwNGVmYTA0NGJlMTFiZTI1YmVlNi4uOTI4NGFhOWU3NDVkNjli
M2FiMTUxMTUwMTg4ZjU5N2VjZTU1MTdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKIGNsYXNzIFY4VGVzdE5hbWVkQ29uc3RydWN0
b3IgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBib29sIGhhc0RlcGVuZGVudExpZmV0aW1l
ID0gdHJ1ZTsKLSAgICBzdGF0aWMgYm9vbCBIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4pOworICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiwg
djg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMg
djg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IEdldFRlbXBsYXRlKHY4OjpJc29s
YXRlKiA9IDApOwogICAgIHN0YXRpYyBUZXN0TmFtZWRDb25zdHJ1Y3RvciogdG9OYXRpdmUodjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAKaW5kZXggM2M3ZWJiMWRjOWIx
ODJiMTM4NWNlYjVmMzE1OGMzMTYwZjRmOTk3NS4uMTdmNjIzNTlkNjJkMTk0Nzk4ZTg4MzllMTI5
MGMwN2U4YzI5MjE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcApAQCAtMTI3LDkgKzEyNyw5IEBAIHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOFRlc3ROb2RlOjpHZXRUZW1wbGF0ZSh2ODo6
SXNvbGF0ZSogaXNvbGF0CiAgICAgcmV0dXJuIHRlbXBsOwogfQogCi1ib29sIFY4VGVzdE5vZGU6
Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wgVjhUZXN0Tm9k
ZTo6SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSkKIHsKLSAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoKS0+SGFzSW5zdGFuY2UodmFs
dWUpOworICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZShpc29sYXRlKS0+SGFzSW5zdGFuY2UodmFs
dWUpOwogfQogCiBFdmVudFRhcmdldCogVjhUZXN0Tm9kZTo6dG9FdmVudFRhcmdldCh2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oCmluZGV4IGYxYjA0MDJkZGI1NDg4M2VkNTRi
NTI5NmY0YzJhNWE1MGUyMWI3OGYuLjIwNTczYmU1YmIzYzAxZTFmMTkxMmI5N2I2NzA4NDliZTY5
M2Q1N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE5vZGUuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBWOFRlc3ROb2RlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgYm9vbCBoYXNEZXBl
bmRlbnRMaWZldGltZSA9IHRydWU7Ci0gICAgc3RhdGljIGJvb2wgSGFzSW5zdGFuY2Uodjg6Okhh
bmRsZTx2ODo6VmFsdWU+KTsKKyAgICBzdGF0aWMgYm9vbCBIYXNJbnN0YW5jZSh2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4sIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0UmF3VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7
CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRUZW1w
bGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgVGVzdE5vZGUqIHRvTmF0aXZlKHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCBlYzFmYjk0NjQ0MzYx
NjMzZDM2ODI4NjA5ZDZhYzU1N2U2YmFlODZkLi44MDRkMjY2YzkxOTMxYTFlNTYwMDgzNmJmM2Iz
MGVjMTBlZDMyNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMTU0Nyw5ICsxNTQ3LDkgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kMTFDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmcKIAogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVk
TWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICBpZiAoKGFy
Z3MuTGVuZ3RoKCkgPT0gMiAmJiAoYXJnc1swXS0+SXNOdWxsKCkgfHwgVjhUZXN0T2JqOjpIYXNJ
bnN0YW5jZShhcmdzWzBdKSkgJiYgKGFyZ3NbMV0tPklzTnVsbCgpIHx8IGFyZ3NbMV0tPklzVW5k
ZWZpbmVkKCkgfHwgYXJnc1sxXS0+SXNTdHJpbmcoKSB8fCBhcmdzWzFdLT5Jc09iamVjdCgpKSkp
CisgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDIgJiYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8IFY4
VGVzdE9iajo6SGFzSW5zdGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKSAmJiAoYXJn
c1sxXS0+SXNOdWxsKCkgfHwgYXJnc1sxXS0+SXNVbmRlZmluZWQoKSB8fCBhcmdzWzFdLT5Jc1N0
cmluZygpIHx8IGFyZ3NbMV0tPklzT2JqZWN0KCkpKSkKICAgICAgICAgcmV0dXJuIG92ZXJsb2Fk
ZWRNZXRob2QxQ2FsbGJhY2soYXJncyk7Ci0gICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYg
KGFyZ3NbMF0tPklzTnVsbCgpIHx8IFY4VGVzdE9iajo6SGFzSW5zdGFuY2UoYXJnc1swXSkpKSB8
fCAoYXJncy5MZW5ndGgoKSA9PSAyICYmIChhcmdzWzBdLT5Jc051bGwoKSB8fCBWOFRlc3RPYmo6
Okhhc0luc3RhbmNlKGFyZ3NbMF0pKSkpCisgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYg
KGFyZ3NbMF0tPklzTnVsbCgpIHx8IFY4VGVzdE9iajo6SGFzSW5zdGFuY2UoYXJnc1swXSwgYXJn
cy5HZXRJc29sYXRlKCkpKSkgfHwgKGFyZ3MuTGVuZ3RoKCkgPT0gMiAmJiAoYXJnc1swXS0+SXNO
dWxsKCkgfHwgVjhUZXN0T2JqOjpIYXNJbnN0YW5jZShhcmdzWzBdLCBhcmdzLkdldElzb2xhdGUo
KSkpKSkKICAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2QyQ2FsbGJhY2soYXJncyk7CiAg
ICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8IGFyZ3Nb
MF0tPklzVW5kZWZpbmVkKCkgfHwgYXJnc1swXS0+SXNTdHJpbmcoKSB8fCBhcmdzWzBdLT5Jc09i
amVjdCgpKSkpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kM0NhbGxiYWNrKGFyZ3Mp
OwpAQCAtMTU1NywxMSArMTU1NywxMSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG92
ZXJsb2FkZWRNZXRob2RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAg
ICByZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDRDYWxsYmFjayhhcmdzKTsKICAgICBpZiAoKGFyZ3Mu
TGVuZ3RoKCkgPT0gMSAmJiAoYXJnc1swXS0+SXNOdWxsKCkgfHwgYXJnc1swXS0+SXNGdW5jdGlv
bigpKSkpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kNUNhbGxiYWNrKGFyZ3MpOwot
ICAgIGlmICgoYXJncy5MZW5ndGgoKSA9PSAxICYmIChhcmdzWzBdLT5Jc051bGwoKSB8fCBWOERP
TVN0cmluZ0xpc3Q6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKSkpCisgICAgaWYgKChhcmdzLkxlbmd0
aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8IFY4RE9NU3RyaW5nTGlzdDo6SGFzSW5z
dGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKSkpCiAgICAgICAgIHJldHVybiBvdmVy
bG9hZGVkTWV0aG9kNkNhbGxiYWNrKGFyZ3MpOwogICAgIGlmICgoYXJncy5MZW5ndGgoKSA9PSAx
ICYmIChhcmdzWzBdLT5Jc051bGwoKSB8fCBhcmdzWzBdLT5Jc0FycmF5KCkpKSkKICAgICAgICAg
cmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q3Q2FsbGJhY2soYXJncyk7Ci0gICAgaWYgKChhcmdzLkxl
bmd0aCgpID09IDEgJiYgKFY4VGVzdE9iajo6SGFzSW5zdGFuY2UoYXJnc1swXSkpKSkKKyAgICBp
ZiAoKGFyZ3MuTGVuZ3RoKCkgPT0gMSAmJiAoVjhUZXN0T2JqOjpIYXNJbnN0YW5jZShhcmdzWzBd
LCBhcmdzLkdldElzb2xhdGUoKSkpKSkKICAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q4
Q2FsbGJhY2soYXJncyk7CiAgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0t
PklzQXJyYXkoKSkpKQogICAgICAgICByZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDlDYWxsYmFjayhh
cmdzKTsKQEAgLTE4NDUsNyArMTg0NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dmFyaWFkaWNOb2RlTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJnCiAgICAg
VjhUUllDQVRDSChOb2RlKiwgaGVhZCwgVjhOb2RlOjpIYXNJbnN0YW5jZShNQVlCRV9NSVNTSU5H
X1BBUkFNRVRFUihhcmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSA/IFY4Tm9kZTo6dG9OYXRp
dmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihh
cmdzLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSkgOiAwKTsKICAgICBWZWN0b3I8UmVmUHRyPE5v
ZGU+ID4gdGFpbDsKICAgICBmb3IgKGludCBpID0gMTsgaSA8IGFyZ3MuTGVuZ3RoKCk7ICsraSkg
ewotICAgICAgICBpZiAoIVY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1tpXSkpCisgICAgICAgIGlm
ICghVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzW2ldLCBhcmdzLkdldElzb2xhdGUoKSkpCiAgICAg
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoMCwgYXJncy5HZXRJc29sYXRlKCkpOwogICAg
ICAgICB0YWlsLmFwcGVuZChWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1tpXSkpKTsKICAgICB9CkBAIC0yMjQxLDkgKzIyNDEsOSBAQCB2ODo6UGVyc2lz
dGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhUZXN0T2JqOjpHZXRUZW1wbGF0ZSh2ODo6SXNv
bGF0ZSogaXNvbGF0ZQogICAgIHJldHVybiB0ZW1wbDsKIH0KIAotYm9vbCBWOFRlc3RPYmo6Okhh
c0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK2Jvb2wgVjhUZXN0T2JqOjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewotICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZSgpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CisgICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKGlzb2xhdGUpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CiB9CiAKIHZvaWQgVjhUZXN0T2JqOjppbnN0YWxsUGVyQ29udGV4dFByb3BlcnRpZXModjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBpbnN0YW5jZSwgVGVzdE9iaiogaW1wbCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaAppbmRleCBmZTQx
YTcwZmQyMDZhMzEyMzFkMjA0MGEyMWIxMWY1NGQ4MjcyYWY5Li4wZmViOWYxMGI2NTY3ZDgyZDQx
OTkzNDg2NzIxOGM0MDYzM2NhNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFY4VGVzdE9iaiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0
IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSBmYWxzZTsKLSAgICBzdGF0aWMgYm9vbCBIYXNJ
bnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4pOworICAgIHN0YXRpYyBib29sIEhhc0luc3Rh
bmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSh2ODo6
SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVt
cGxhdGU+IEdldFRlbXBsYXRlKHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyBUZXN0T2Jq
KiB0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAppbmRleCA0MTA4YmI1MDgyODNiZjUyYmQw
MTIzMjlhOWU0ZGQ4OWE1YzUzMTZhLi45OWU3Yzk1ZDE3MWRjNTdlYWRhOTlhM2U5ZWI2MGY4YjRl
NzI5NmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3Bw
CkBAIC0xMjMsMTEgKzEyMywxMSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yczo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2OAogCiAgICAgaWYg
KENvbnN0cnVjdG9yTW9kZTo6Y3VycmVudCgpID09IENvbnN0cnVjdG9yTW9kZTo6V3JhcEV4aXN0
aW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKLSAgICBpZiAoKGFyZ3Mu
TGVuZ3RoKCkgPT0gMSAmJiAoVjhBcnJheUJ1ZmZlcjo6SGFzSW5zdGFuY2UoYXJnc1swXSkpKSkK
KyAgICBpZiAoKGFyZ3MuTGVuZ3RoKCkgPT0gMSAmJiAoVjhBcnJheUJ1ZmZlcjo6SGFzSW5zdGFu
Y2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKSkpCiAgICAgICAgIHJldHVybiBjb25zdHJ1
Y3RvcjFDYWxsYmFjayhhcmdzKTsKLSAgICBpZiAoKGFyZ3MuTGVuZ3RoKCkgPT0gMSAmJiAoVjhB
cnJheUJ1ZmZlclZpZXc6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKSkpCisgICAgaWYgKChhcmdzLkxl
bmd0aCgpID09IDEgJiYgKFY4QXJyYXlCdWZmZXJWaWV3OjpIYXNJbnN0YW5jZShhcmdzWzBdLCBh
cmdzLkdldElzb2xhdGUoKSkpKSkKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yMkNhbGxiYWNr
KGFyZ3MpOwotICAgIGlmICgoYXJncy5MZW5ndGgoKSA9PSAxICYmIChWOEJsb2I6Okhhc0luc3Rh
bmNlKGFyZ3NbMF0pKSkpCisgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKFY4QmxvYjo6
SGFzSW5zdGFuY2UoYXJnc1swXSwgYXJncy5HZXRJc29sYXRlKCkpKSkpCiAgICAgICAgIHJldHVy
biBjb25zdHJ1Y3RvcjNDYWxsYmFjayhhcmdzKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA9PSAx
KQogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I0Q2FsbGJhY2soYXJncyk7CkBAIC0xODQsOSAr
MTg0LDkgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnM6OkdldFRlbXBsYXRlKHYKICAgICByZXR1cm4gdGVtcGw7CiB9CiAK
LWJvb2wgVjhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6SGFzSW5zdGFuY2Uodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHZhbHVlKQorYm9vbCBWOFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewotICAgIHJldHVybiBHZXRSYXdUZW1wbGF0ZSgpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CisgICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKGlzb2xhdGUpLT5IYXNJbnN0YW5jZSh2YWx1ZSk7
CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKaW5kZXgg
MzYxNzQ3MTBhZDc1MTBhMmE2ZjZiYjA4N2ZlM2E0OWU4OTI2OGYzYy4uMWQyZTBjNTVhNmVhYzhl
ODE4N2ViYzYyMWZmYWI5MjAzM2EzZTBkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFY4VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgewogcHVibGljOgogICAgIHN0YXRpYyBj
b25zdCBib29sIGhhc0RlcGVuZGVudExpZmV0aW1lID0gZmFsc2U7Ci0gICAgc3RhdGljIGJvb2wg
SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+KTsKKyAgICBzdGF0aWMgYm9vbCBIYXNJ
bnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4sIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0
YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0UmF3VGVtcGxhdGUo
djg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPiBHZXRUZW1wbGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqIHRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
b2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcAppbmRleCBmMmJhYmJkZTAzN2YxNjkyMzRlMzY0MjFjNDE3N2M5ZTg3NTNl
OGQxLi42MDNiZTg1NWZiMmJkZGZmMmNhZTBlNDYwNzFlMGE4ODRmZjViYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApA
QCAtMzAyLDkgKzMwMiw5IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBW
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkdldFRlCiAgICAgcmV0dXJuIHRl
bXBsOwogfQogCi1ib29sIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6SGFz
SW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorYm9vbCBWOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7Ci0gICAgcmV0dXJuIEdldFJhd1RlbXBs
YXRlKCktPkhhc0luc3RhbmNlKHZhbHVlKTsKKyAgICByZXR1cm4gR2V0UmF3VGVtcGxhdGUoaXNv
bGF0ZSktPkhhc0luc3RhbmNlKHZhbHVlKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKaW5kZXggOWY5Mjk5OTdlNjMyMjcz
MjM3MTM2ZmNiMjFlYzYyNjgyZWIxYzNkZS4uYzBjMmMzOWU0N2M0OGE0NjljNzJjMWQwYjJlMDA1
YTM4MjIxODQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgewogcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBib29sIGhhc0RlcGVuZGVudExpZmV0aW1lID0gZmFsc2U7Ci0gICAgc3Rh
dGljIGJvb2wgSGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6VmFsdWU+KTsKKyAgICBzdGF0aWMg
Ym9vbCBIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4sIHY4OjpJc29sYXRlKiA9IDAp
OwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0UmF3
VGVtcGxhdGUodjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4
OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRUZW1wbGF0ZSh2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBz
dGF0aWMgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogdG9OYXRpdmUodjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBvYmplY3QpCg==
</data>
<flag name="review"
          id="205177"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>