<?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>192771</bug_id>
          
          <creation_ts>2018-12-17 12:53:46 -0800</creation_ts>
          <short_desc>Make ReadableStreamXX constructs use PrivateIdentifier</short_desc>
          <delta_ts>2018-12-18 13:42:27 -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 Misc.</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1488547</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-17 12:53:46 -0800</bug_when>
    <thetext>PrivateIdentifier is more meaningful than NoInterfaceObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488550</commentid>
    <comment_count>1</comment_count>
      <attachid>357470</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-17 12:57:26 -0800</bug_when>
    <thetext>Created attachment 357470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488901</commentid>
    <comment_count>2</comment_count>
      <attachid>357570</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-18 08:47:48 -0800</bug_when>
    <thetext>Created attachment 357570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489040</commentid>
    <comment_count>3</comment_count>
      <attachid>357570</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 13:41:42 -0800</bug_when>
    <thetext>Comment on attachment 357570
Patch

Clearing flags on attachment: 357570

Committed r239349: &lt;https://trac.webkit.org/changeset/239349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489041</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 13:41:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489042</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-18 13:42:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/46820461&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357470</attachid>
            <date>2018-12-17 12:57:26 -0800</date>
            <delta_ts>2018-12-18 08:47:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192771-20181217125725.patch</filename>
            <type>text/plain</type>
            <size>26732</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBhZTRlYzNjZDM2YTkz
NDAwNDQ1NzkxYzU1OWE4MjliYWJmNjczZC4uYTNlOTM2MzA3MTJlMmIzNDBhOGRmNjJiODgyZWNi
ZGNmMTMxYWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTEyLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlYWRhYmxlU3Ry
ZWFtWFggY29uc3RydWN0cyB1c2UgUHJpdmF0ZUlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjc3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByaXZhdGVJZGVudGlmaWVyIGlzIGEgYmV0
dGVyIG5hbWUgZm9yIG1ha2luZyBzdXJlIGEgZ2l2ZW4gY29uc3RydWN0IGRvZXMgbm90IHNob3cg
dXAgaW4gdGhlIGdsb2JhbCBzY29wZS4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBiaW5k
aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUJZT0JSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUJZT0JSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChOZWVkc0NvbnN0cnVjdG9yUHJvcGVydHkpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsOgorICAgICAgICAo
c2hvdWxkRXhwb3NlSW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q3VzdG9tQ29uc3RydWN0b3IuaWRsOiBSZW1vdmVkLgorCiAy
MDE4LTEyLTEyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdIEEgZmV3IEFQSSB0ZXN0cyBhcmUgZmFpbGluZyBhZnRlciByMjM5MDg2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVC
eXRlU3RyZWFtQ29udHJvbGxlci5pZGwKaW5kZXggNGUzNTRhODZkZTg5NmFlZDZlNGVmMjU4NmI0
OTM5MTc4YTA0ZTcxYy4uZTgzNmNhZDEwOGU0MzZiODc5ODExNDdlNjM5NjQ2Yzc4MGNhNjExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlkbApAQCAtMzIsNyArMzIsNyBAQAogICAgIEN1
c3RvbUNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwgYW55IHVuZGVybHlpbmdCeXRl
U291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspLAogICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKLSAgICBOb0ludGVyZmFjZU9iamVjdAorICAgIFBy
aXZhdGVJZGVudGlmaWVyCiBdIGludGVyZmFjZSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
IHsKICAgICBbTm90RW51bWVyYWJsZV0gdm9pZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7
CiAgICAgW05vdEVudW1lcmFibGVdIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwK
aW5kZXggNDg3NzI5YTQ2NTc5MjQ4OTk5ZjJlNzM0YjkyZjNkNWI2YWVlZjljZS4uMzVkMWZiZDlj
ZDI3NzQ5NDVhMTI0ODNlNGIwOWUxYzVmMGFjOTI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwK
QEAgLTI3LDkgKzI3LDggQEAKIFsKICAgICBDb25kaXRpb25hbD1TVFJFQU1TX0FQSSwKICAgICBD
dXN0b21Db25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0pLAotICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKLSAgICBOb0ludGVyZmFjZU9iamVjdAorICAg
IFByaXZhdGVJZGVudGlmaWVyCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIg
ewogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4gcmVhZChvcHRpb25hbCBhbnkgdmll
dyk7CiAgICAgW05vdEVudW1lcmFibGVdIFByb21pc2U8YW55PiBjYW5jZWwob3B0aW9uYWwgYW55
IHJlYXNvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKaW5kZXggNTNiZDU4MzFlZGVkYjkzMGQ4
MTU2Y2I2MWU2Yzk3NWQwYzlkZDdiZS4uODg5MmY2YzZjNGQwZDc5OTUyYmYxZDZkN2ViNGM5ZjZh
MjBhNDA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbApAQCAtMzEsNyArMzEsNyBAQAogICAg
IEN1c3RvbUNvbnN0cnVjdG9yKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgY29udHJvbGxl
ciwgVHlwZWRBcnJheSB2aWV3KSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBK
U0J1aWx0aW4sCi0gICAgTm9JbnRlcmZhY2VPYmplY3QKKyAgICBQcml2YXRlSWRlbnRpZmllcgog
XSBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCB7CiAgICAgW05vdEVudW1lcmFi
bGVdIHZvaWQgcmVzcG9uZChvcHRpb25hbCBhbnkgYnl0ZXNXcml0dGVuKTsKICAgICBbTm90RW51
bWVyYWJsZV0gdm9pZCByZXNwb25kV2l0aE5ld1ZpZXcob3B0aW9uYWwgYW55IHZpZXcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsCmluZGV4IGZmOGQ3ZGZmZGRhM2ZhNGNjN2Yx
YmVlMWY4YzRkODAwNmMzZTFhNGIuLjY5YmRmMWQwNjgwYjlkMzk0YmE1NGQ5YzRkNzliZmU2OWVj
ODBmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwKQEAgLTMyLDcgKzMy
LDcgQEAKICAgICBDdXN0b21Db25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0sIGFueSB1
bmRlcmx5aW5nU291cmNlLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgaGlnaFdh
dGVyTWFyayksCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSlNCdWlsdGluLAot
ICAgIE5vSW50ZXJmYWNlT2JqZWN0CisgICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0gaW50ZXJmYWNl
IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgewogICAgIFtOb3RFbnVtZXJhYmxlXSB2
b2lkIGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKICAgICBbTm90RW51bWVyYWJsZV0gdm9p
ZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbAppbmRleCA3YjcyZGMwMmUxMjBh
OGI3ODBjNGE4YzdmYTNjYzczYTI2ZTIxMzAwLi5hZTYwMGJhOWVmMjgwZWU3ZTIyNWEyYWU5Yzhj
NjE5ZmFiY2FlY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbApAQCAtMzAsOSArMzAs
OCBAQAogWwogICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJLAogICAgIEN1c3RvbUNvbnN0cnVj
dG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSksCi0gICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciks
CiAgICAgSlNCdWlsdGluLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0CisgICAgUHJpdmF0ZUlkZW50
aWZpZXIKIF0gaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciB7CiAgICAgW05v
dEVudW1lcmFibGVdIFByb21pc2U8YW55PiByZWFkKCk7CiAgICAgW05vdEVudW1lcmFibGVdIFBy
b21pc2U8YW55PiBjYW5jZWwob3B0aW9uYWwgYW55IHJlYXNvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDQ5MTdjMTRh
OGU3ZDcxYzU5ZTM4NTkxYWUwODY3MTI3ZmEyNjNmMzIuLmNiOTAxNzRhMDk0OGY1YjExOTkxZTY2
YmFjMjIwODI4MGM2NDkxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC03MzQwLDkgKzczNDAsNyBAQCBzdWIgTmVlZHND
b25zdHJ1Y3RvclByb3BlcnR5CiB7CiAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwogICAgIAot
ICAgICMgRklYTUU6IFRoaXMgY29uZGl0aW9uIG1ha2VzIGxpdHRsZSBzZW5zZS4gSXQgc2hvdWxk
IG5vdCBiZSBwb3NzaWJsZSB0byBoYXZlIGEgY29uc3RydWN0b3IgYXQgYWxsIGlmIHlvdSBoYXZl
Ci0gICAgIyBubyBpbnRlcmZhY2Ugb2JqZWN0LiBUaGlzIHNlZW1zIHRvIGJlIG9ubHkgdXNlZCBi
eSB0aGUgUmVhZGFibGVTdHJlYW1zIGNvZGUuCi0gICAgcmV0dXJuICEkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntOb0ludGVyZmFjZU9iamVjdH0gfHwgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Q3VzdG9tQ29uc3RydWN0b3J9OworICAgIHJldHVybiAhJGludGVyZmFj
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Tm9JbnRlcmZhY2VPYmplY3R9OwogfQogCiBzdWIgSXND
b25zdHJ1Y3RhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3ByZXByb2Nlc3MtaWRscy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJl
cHJvY2Vzcy1pZGxzLnBsCmluZGV4IDQ2Y2QzYjhmOWNhOWMxMWFhNTFmYmQ5ZmE4NzYwZmE3YjBm
ZDkzMzYuLjdmYWY0MDliZTgzNDE5NDQ4OGUwYzdmNmNhNTQ4MGIwOWYzYTFlNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsCkBA
IC0xMzgsNyArMTM4LDcgQEAgZm9yZWFjaCBteSAkaWRsRmlsZSAoc29ydCBrZXlzICVpZGxGaWxl
SGFzaCkgewogICAgICMgICBwcm9wZXJ0eSBtdXN0IGV4aXN0IG9uIHRoZSBFQ01BU2NyaXB0IGVu
dmlyb25tZW50J3MgZ2xvYmFsIG9iamVjdC4KICAgICAjIFNlZSBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNlcy1pbnRlcmZhY2VzCiAgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlcyA9
IGdldEludGVyZmFjZUV4dGVuZGVkQXR0cmlidXRlc0Zyb21JREwoJGlkbEZpbGVDb250ZW50cyk7
Ci0gICAgdW5sZXNzICgkZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vSW50ZXJmYWNlT2JqZWN0In0p
IHsKKyAgICBpZiAoc2hvdWxkRXhwb3NlSW50ZXJmYWNlKCRleHRlbmRlZEF0dHJpYnV0ZXMpKSB7
CiAgICAgICAgIGlmICghaXNDYWxsYmFja0ludGVyZmFjZUZyb21JREwoJGlkbEZpbGVDb250ZW50
cykgfHwgaW50ZXJmYWNlSGFzQ29uc3RhbnRBdHRyaWJ1dGUoJGlkbEZpbGVDb250ZW50cykpIHsK
ICAgICAgICAgICAgIG15ICRleHBvc2VkQXR0cmlidXRlID0gJGV4dGVuZGVkQXR0cmlidXRlcy0+
eyJFeHBvc2VkIn0gfHwgIldpbmRvdyI7CiAgICAgICAgICAgICAkZXhwb3NlZEF0dHJpYnV0ZSA9
IHN1YnN0cigkZXhwb3NlZEF0dHJpYnV0ZSwgMSwgLTEpIGlmIHN1YnN0cigkZXhwb3NlZEF0dHJp
YnV0ZSwgMCwgMSkgZXEgIigiOwpAQCAtNDAzLDMgKzQwMywxMiBAQCBzdWIgaW50ZXJmYWNlSGFz
Q29uc3RhbnRBdHRyaWJ1dGUKIAogICAgIHJldHVybiAkZmlsZUNvbnRlbnRzID1+IC9ccytjb25z
dFtcc1x3XSs9XHMrW1x3XSs7L2dzOwogfQorCitzdWIgc2hvdWxkRXhwb3NlSW50ZXJmYWNlCit7
CisgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlcyA9IHNoaWZ0OworCisgICAgcmV0dXJuIDAgaWYg
JGV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb0ludGVyZmFjZU9iamVjdCJ9OworICAgIHJldHVybiAw
IGlmICRleHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZUlkZW50aWZpZXIifSAmJiAhKCRleHRl
bmRlZEF0dHJpYnV0ZXMtPnsiUHVibGljSWRlbnRpZmllciJ9KTsKKyAgICByZXR1cm4gMTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRo
Tm9JbnRlcmZhY2VPYmplY3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmU3
NmM4OWViZmM4MDcwN2U0MzM4ODFhMTNmNmQwYTk1N2NkNTQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhh
cyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEK
LQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0q
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaCIKLQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgot
I2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3IuaCIKLSNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVuY3Rpb25Q
cm90b3R5cGUuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFwU25hcHNob3RCdWlsZGVy
Lmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9VUkwuaD4KLQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ug
SlNDOwotCi0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvcihKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJvb2wgc2V0SlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvcihKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwot
Ci1jbGFzcyBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3Rv
dHlwZSA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewotcHVibGljOgotICAgIHVzaW5n
IEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmplY3Q7Ci0gICAgc3RhdGljIEpTVGVzdEN1c3RvbUNv
bnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVy
ZmFjZU9iamVjdFByb3RvdHlwZSogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2Vs
bDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZT4o
dm0uaGVhcCkpIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJv
dG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAgIHB0ci0+ZmluaXNo
Q3JlYXRpb24odm0pOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIERFQ0xBUkVf
SU5GTzsKLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZN
JiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJv
dG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZShKU0M6OlZNJiB2
bSwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAg
ICAgIDogSlNDOjpKU05vbkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCi0gICAgewotICAgIH0K
LQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotfTsKLQotdXNpbmcgSlNUZXN0
Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvciA9IEpTRE9N
Q29uc3RydWN0b3I8SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+
OwotCi10ZW1wbGF0ZTw+IEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yOjpjb25zdHJ1
Y3QoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgQVNTRVJUKGV4ZWMpOwotICAgIHJldHVy
biBjb25zdHJ1Y3RKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCgq
ZXhlYyk7Ci19Ci0KLXRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlND
OjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAg
VU5VU0VEX1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1bmN0aW9uUHJvdG90
eXBlKCk7Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhO
b0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZygmdm0sIFN0cmluZygi
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Il9zKSksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJl
cigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSk7Ci19Ci0KLXRlbXBsYXRlPD4gY29uc3QgQ2xhc3NJbmZvIEpTVGVz
dEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0b3I6OnNfaW5m
byA9IHsgIlRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvcikgfTsKLQotLyog
SGFzaCB0YWJsZSBmb3IgcHJvdG90eXBlICovCi0KLXN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZVRh
YmxlVmFsdWVzW10gPQotewotICAgIHsgImNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RDdXN0
b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvcikgfSB9LAotfTsK
LQotY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0UHJvdG90eXBlOjpzX2luZm8gPSB7ICJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3RQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRy
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0UHJvdG90eXBlKSB9OwotCi12b2lkIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCi17Ci0g
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2
bSwgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OmluZm8oKSwg
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RQcm90b3R5cGVUYWJs
ZVZhbHVlcywgKnRoaXMpOwotfQotCi1jb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OnNfaW5mbyA9IHsgIlRlc3RDdXN0b21Db25zdHJ1
Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRl
cmZhY2VPYmplY3QpIH07Ci0KLUpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0OjpKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4mJiBpbXBsKQotICAgIDog
SlNET01XcmFwcGVyPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4o
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCi17Ci19Ci0KLXZvaWQgSlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgQVNTRVJUKGlu
aGVyaXRzKHZtLCBpbmZvKCkpKTsKLQotfQotCi1KU09iamVjdCogSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OmNyZWF0ZVByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIEpTVGVzdEN1c3RvbUNv
bnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlOjpjcmVhdGUodm0sICZnbG9i
YWxPYmplY3QsIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJv
dG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5v
YmplY3RQcm90b3R5cGUoKSkpOwotfQotCi1KU09iamVjdCogSlNUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIGdldERPTVByb3RvdHlwZTxKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4odm0sIGdsb2JhbE9iamVjdCk7
Ci19Ci0KLXZvaWQgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6
OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCo+KGNlbGwpOwotICAgIHRoaXNP
YmplY3QtPkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Ojp+SlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QoKTsKLX0KLQotRW5jb2Rl
ZEpTVmFsdWUganNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25z
dHJ1Y3RvcihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3Bl
cnR5TmFtZSkKLXsKLSAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKLSAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJv
dG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtF
TFkoIXByb3RvdHlwZSkpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlLCB0
aHJvd1Njb3BlKTsKLSAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yID0gSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHN0YXRlLT52bSgp
LCBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9y
OjpjcmVhdGVTdHJ1Y3R1cmUoc3RhdGUtPnZtKCksICpwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgp
LCBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSksICpqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpKSk7Ci0gICAgLy8g
U2hhZG93aW5nIGNvbnN0cnVjdG9yIHByb3BlcnR5IHRvIGVuc3VyZSByZXVzaW5nIHRoZSBzYW1l
IGNvbnN0cnVjdG9yIG9iamVjdAotICAgIHByb3RvdHlwZS0+cHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgY29uc3RydWN0b3IsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoY29uc3RydWN0b3IpOwotfQotCi1ib29sIHNldEpTVGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBzdGF0ZSwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpCi17Ci0g
ICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZSo+KHZtLCBK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFwcm90b3R5cGUp
KSB7Ci0gICAgICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUpOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0
cnVjdG9yCi0gICAgcmV0dXJuIHByb3RvdHlwZS0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5jb25zdHJ1Y3RvciwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSkpOwotfQotCi12
b2lkIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0OjpoZWFwU25h
cHNob3QoSlNDZWxsKiBjZWxsLCBIZWFwU25hcHNob3RCdWlsZGVyJiBidWlsZGVyKQotewotICAg
IGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QqPihjZWxsKTsKLSAgICBidWlsZGVyLnNldFdyYXBwZWRPYmplY3RGb3JD
ZWxsKGNlbGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlzT2JqZWN0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGJ1aWxkZXIuc2V0TGFiZWxGb3JDZWxs
KGNlbGwsIFN0cmluZzo6Zm9ybWF0KCJ1cmwgJXMiLCB0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpKTsKLSAgICBCYXNlOjpo
ZWFwU25hcHNob3QoY2VsbCwgYnVpbGRlcik7Ci19Ci0KLWJvb2wgSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RPd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9v
dHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90VmlzaXRvciYg
dmlzaXRvciwgY29uc3QgY2hhcioqIHJlYXNvbikKLXsKLSAgICBVTlVTRURfUEFSQU0oaGFuZGxl
KTsKLSAgICBVTlVTRURfUEFSQU0odmlzaXRvcik7Ci0gICAgVU5VU0VEX1BBUkFNKHJlYXNvbik7
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0T3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93
bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQotewotICAgIGF1dG8qIGpzVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNUZXN0Q3VzdG9tQ29u
c3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqPihoYW5kbGUuc2xvdCgpLT5hc0NlbGwoKSk7
Ci0gICAgYXV0byYgd29ybGQgPSAqc3RhdGljX2Nhc3Q8RE9NV3JhcHBlcldvcmxkKj4oY29udGV4
dCk7Ci0gICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZqc1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdC0+d3JhcHBlZCgpLCBqc1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdCk7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
Ci0jaWYgUExBVEZPUk0oV0lOKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCi1leHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RAV2ViQ29yZUBANkJAIilbXSkoKTsgfQot
I2Vsc2UKLWV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQyVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0RVtdOyB9Ci0jZW5kaWYKLSNlbmRpZgot
Ci1KU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3Q+JiYgaW1wbCkKLXsKLQotI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklU
WSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJldF9jYXN0PHZv
aWQqKj4oaW1wbC5wdHIoKSkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lOU1BFQ1RJT04o
X19pZGVudGlmaWVyKCI/P183VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2Jq
ZWN0QFdlYkNvcmVAQDZCQCIpKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdXZWJD
b3JlNDJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RFWzJdKTsKLSNl
bmRpZgotCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+Ojp2YWx1ZSwgIlRl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCBpcyBub3QgcG9seW1vcnBo
aWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAot
ICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlmCi0gICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2Jq
ZWN0PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwotfQotCi1KU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCYgaW1wbCkKLXsKLSAg
ICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKTsKLX0KLQotVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KiBKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdDo6dG9XcmFwcGVkKEpTQzo6Vk0mIHZtLCBKU0M6OkpTVmFs
dWUgdmFsdWUpCi17Ci0gICAgaWYgKGF1dG8qIHdyYXBwZXIgPSBqc0R5bmFtaWNDYXN0PEpTVGVz
dEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Kj4odm0sIHZhbHVlKSkKLSAg
ICAgICAgcmV0dXJuICZ3cmFwcGVyLT53cmFwcGVkKCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19
Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRj
ZGUyZTliZDAyZjM4NWI2NTYyYTY0NTc0MTA1Mzc2ZjY1MDM0NTEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICAgIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFz
IGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQot
Ci0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAi
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgiCi0jaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgOiBwdWJsaWMgSlNET01X
cmFwcGVyPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4gewotcHVi
bGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0RPTVdyYXBwZXI8VGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0PjsKLSAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIGNyZWF0ZShKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PiYmIGltcGwpCi0gICAgewotICAgICAgICBKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogcHRyID0gbmV3IChOb3ROdWxs
LCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpLmhlYXApKSBKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdChzdHJ1Y3R1cmUsICpnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCkpOwotICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+dm0oKSk7
Ci0gICAgICAgIHJldHVybiBwdHI7Ci0gICAgfQotCi0gICAgc3RhdGljIEpTQzo6SlNPYmplY3Qq
IGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKLSAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogcHJvdG90eXBlKEpTQzo6Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYp
OwotICAgIHN0YXRpYyBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Qq
IHRvV3JhcHBlZChKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0
cm95KEpTQzo6SlNDZWxsKik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGhlYXBTbmFwc2hvdChKU0NlbGwqLCBKU0M6
OkhlYXBTbmFwc2hvdEJ1aWxkZXImKTsKLXByb3RlY3RlZDoKLSAgICBKU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0JiwgUmVmPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4m
Jik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpT
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0T3duZXIgOiBwdWJsaWMg
SlNDOjpXZWFrSGFuZGxlT3duZXIgewotcHVibGljOgotICAgIHZpcnR1YWwgYm9vbCBpc1JlYWNo
YWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250
ZXh0LCBKU0M6OlNsb3RWaXNpdG9yJiwgY29uc3QgY2hhcioqKTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCk7Ci19Owot
Ci1pbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29y
bGQmLCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqKQotewotICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVy
ZmFjZU9iamVjdE93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1p
bmxpbmUgdm9pZCogd3JhcHBlcktleShUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3QqIHdyYXBwYWJsZU9iamVjdCkKLXsKLSAgICByZXR1cm4gd3JhcHBhYmxlT2JqZWN0
OwotfQotCi1KU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Jik7Ci1pbmxp
bmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3QqIGltcGwpIHsgcmV0dXJuIGltcGwgPyB0b0pTKHN0YXRlLCBnbG9iYWxPYmplY3QsICpp
bXBsKSA6IEpTQzo6anNOdWxsKCk7IH0KLUpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBSZWY8VGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PiYmKTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZlB0cjxUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3Q+JiYgaW1wbCkgeyByZXR1cm4gaW1wbCA/IHRvSlNOZXdseUNyZWF0ZWQoc3RhdGUsIGdsb2Jh
bE9iamVjdCwgaW1wbC5yZWxlYXNlTm9uTnVsbCgpKSA6IEpTQzo6anNOdWxsKCk7IH0KLQotLy8g
Q3VzdG9tIGNvbnN0cnVjdG9yCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29u
c3RydWN0SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QoSlNDOjpF
eGVjU3RhdGUmKTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJh
aXRzPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4gewotICAgIHVz
aW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0OwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RD
dXN0b21Db25zdHJ1Y3Rvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdEN1c3RvbUNvbnN0cnVjdG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2IzZGZjYzFjZjNhMGRjYzI4OWY5NmM4ZTQyZmU1NjZmMmQyMWYyYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEN1c3RvbUNvbnN0cnVjdG9yLmlkbAorKysgL2Rldi9udWxsCkBA
IC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkLCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVpcmVkIHRvIGJlIG1ldDoK
LSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9m
IENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQ0FOT04gSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0g
KiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci1bCi0gICAgQ3VzdG9tQ29uc3RydWN0b3IsCi0gICAgTm9JbnRlcmZhY2VPYmplY3QKLV0gaW50
ZXJmYWNlIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCB7Ci19Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357570</attachid>
            <date>2018-12-18 08:47:48 -0800</date>
            <delta_ts>2018-12-18 13:41:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192771-20181218084745.patch</filename>
            <type>text/plain</type>
            <size>26798</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBhZTRlYzNjZDM2YTkz
NDAwNDQ1NzkxYzU1OWE4MjliYWJmNjczZC4uYTNlOTM2MzA3MTJlMmIzNDBhOGRmNjJiODgyZWNi
ZGNmMTMxYWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTEyLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlYWRhYmxlU3Ry
ZWFtWFggY29uc3RydWN0cyB1c2UgUHJpdmF0ZUlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjc3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByaXZhdGVJZGVudGlmaWVyIGlzIGEgYmV0
dGVyIG5hbWUgZm9yIG1ha2luZyBzdXJlIGEgZ2l2ZW4gY29uc3RydWN0IGRvZXMgbm90IHNob3cg
dXAgaW4gdGhlIGdsb2JhbCBzY29wZS4KKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBiaW5k
aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVh
bUNvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUJZT0JSZWFkZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUJZT0JSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChOZWVkc0NvbnN0cnVjdG9yUHJvcGVydHkpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsOgorICAgICAgICAo
c2hvdWxkRXhwb3NlSW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q3VzdG9tQ29uc3RydWN0b3IuaWRsOiBSZW1vdmVkLgorCiAy
MDE4LTEyLTEyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdIEEgZmV3IEFQSSB0ZXN0cyBhcmUgZmFpbGluZyBhZnRlciByMjM5MDg2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVC
eXRlU3RyZWFtQ29udHJvbGxlci5pZGwKaW5kZXggNGUzNTRhODZkZTg5NmFlZDZlNGVmMjU4NmI0
OTM5MTc4YTA0ZTcxYy4uZTgzNmNhZDEwOGU0MzZiODc5ODExNDdlNjM5NjQ2Yzc4MGNhNjExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9S
ZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmlkbApAQCAtMzIsNyArMzIsNyBAQAogICAgIEN1
c3RvbUNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSwgYW55IHVuZGVybHlpbmdCeXRl
U291cmNlLCB1bnNpZ25lZCBsb25nIGhpZ2hXYXRlck1hcmspLAogICAgIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKLSAgICBOb0ludGVyZmFjZU9iamVjdAorICAgIFBy
aXZhdGVJZGVudGlmaWVyCiBdIGludGVyZmFjZSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
IHsKICAgICBbTm90RW51bWVyYWJsZV0gdm9pZCBlbnF1ZXVlKG9wdGlvbmFsIGFueSBjaHVuayk7
CiAgICAgW05vdEVudW1lcmFibGVdIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwK
aW5kZXggNDg3NzI5YTQ2NTc5MjQ4OTk5ZjJlNzM0YjkyZjNkNWI2YWVlZjljZS4uMzVkMWZiZDlj
ZDI3NzQ5NDVhMTI0ODNlNGIwOWUxYzVmMGFjOTI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5pZGwK
QEAgLTI3LDkgKzI3LDggQEAKIFsKICAgICBDb25kaXRpb25hbD1TVFJFQU1TX0FQSSwKICAgICBD
dXN0b21Db25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJlYW0pLAotICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAogICAgIEpTQnVpbHRpbiwKLSAgICBOb0ludGVyZmFjZU9iamVjdAorICAg
IFByaXZhdGVJZGVudGlmaWVyCiBdIGludGVyZmFjZSBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIg
ewogICAgIFtOb3RFbnVtZXJhYmxlXSBQcm9taXNlPGFueT4gcmVhZChvcHRpb25hbCBhbnkgdmll
dyk7CiAgICAgW05vdEVudW1lcmFibGVdIFByb21pc2U8YW55PiBjYW5jZWwob3B0aW9uYWwgYW55
IHJlYXNvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5pZGwKaW5kZXggNTNiZDU4MzFlZGVkYjkzMGQ4
MTU2Y2I2MWU2Yzk3NWQwYzlkZDdiZS4uMDg5NzE4OGZjMGIxYjY3YzY2YTVjOGE1MGY1YjcwODM5
ODY4NjE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbApAQCAtMjksOSArMjksOCBAQAogWwog
ICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJLAogICAgIEN1c3RvbUNvbnN0cnVjdG9yKFJlYWRh
YmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgY29udHJvbGxlciwgVHlwZWRBcnJheSB2aWV3KSwKLSAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBKU0J1aWx0aW4sCi0gICAgTm9JbnRlcmZh
Y2VPYmplY3QKKyAgICBQcml2YXRlSWRlbnRpZmllcgogXSBpbnRlcmZhY2UgUmVhZGFibGVTdHJl
YW1CWU9CUmVxdWVzdCB7CiAgICAgW05vdEVudW1lcmFibGVdIHZvaWQgcmVzcG9uZChvcHRpb25h
bCBhbnkgYnl0ZXNXcml0dGVuKTsKICAgICBbTm90RW51bWVyYWJsZV0gdm9pZCByZXNwb25kV2l0
aE5ld1ZpZXcob3B0aW9uYWwgYW55IHZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXIuaWRsCmluZGV4IGZmOGQ3ZGZmZGRhM2ZhNGNjN2YxYmVlMWY4YzRkODAwNmMzZTFhNGIuLjc3
YTM4ODY1YWFiY2QwZjE1MmQ4YmNhZjFlMThlNzZlM2ZiMTQwYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlci5pZGwKQEAgLTMwLDkgKzMwLDggQEAKIFsKICAgICBDb25kaXRpb25h
bD1TVFJFQU1TX0FQSSwKICAgICBDdXN0b21Db25zdHJ1Y3RvcihSZWFkYWJsZVN0cmVhbSBzdHJl
YW0sIGFueSB1bmRlcmx5aW5nU291cmNlLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxv
bmcgaGlnaFdhdGVyTWFyayksCi0gICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSlNC
dWlsdGluLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0CisgICAgUHJpdmF0ZUlkZW50aWZpZXIKIF0g
aW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgewogICAgIFtOb3RFbnVt
ZXJhYmxlXSB2b2lkIGVucXVldWUob3B0aW9uYWwgYW55IGNodW5rKTsKICAgICBbTm90RW51bWVy
YWJsZV0gdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbAppbmRleCA3Yjcy
ZGMwMmUxMjBhOGI3ODBjNGE4YzdmYTNjYzczYTI2ZTIxMzAwLi5hZTYwMGJhOWVmMjgwZWU3ZTIy
NWEyYWU5YzhjNjE5ZmFiY2FlY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmlkbApAQCAt
MzAsOSArMzAsOCBAQAogWwogICAgIENvbmRpdGlvbmFsPVNUUkVBTVNfQVBJLAogICAgIEN1c3Rv
bUNvbnN0cnVjdG9yKFJlYWRhYmxlU3RyZWFtIHN0cmVhbSksCi0gICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCiAgICAgSlNCdWlsdGluLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0CisgICAgUHJp
dmF0ZUlkZW50aWZpZXIKIF0gaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciB7
CiAgICAgW05vdEVudW1lcmFibGVdIFByb21pc2U8YW55PiByZWFkKCk7CiAgICAgW05vdEVudW1l
cmFibGVdIFByb21pc2U8YW55PiBjYW5jZWwob3B0aW9uYWwgYW55IHJlYXNvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4
IDQ5MTdjMTRhOGU3ZDcxYzU5ZTM4NTkxYWUwODY3MTI3ZmEyNjNmMzIuLmNiOTAxNzRhMDk0OGY1
YjExOTkxZTY2YmFjMjIwODI4MGM2NDkxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC03MzQwLDkgKzczNDAsNyBAQCBz
dWIgTmVlZHNDb25zdHJ1Y3RvclByb3BlcnR5CiB7CiAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0
OwogICAgIAotICAgICMgRklYTUU6IFRoaXMgY29uZGl0aW9uIG1ha2VzIGxpdHRsZSBzZW5zZS4g
SXQgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byBoYXZlIGEgY29uc3RydWN0b3IgYXQgYWxsIGlm
IHlvdSBoYXZlCi0gICAgIyBubyBpbnRlcmZhY2Ugb2JqZWN0LiBUaGlzIHNlZW1zIHRvIGJlIG9u
bHkgdXNlZCBieSB0aGUgUmVhZGFibGVTdHJlYW1zIGNvZGUuCi0gICAgcmV0dXJuICEkaW50ZXJm
YWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntOb0ludGVyZmFjZU9iamVjdH0gfHwgJGludGVyZmFj
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q3VzdG9tQ29uc3RydWN0b3J9OworICAgIHJldHVybiAh
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Tm9JbnRlcmZhY2VPYmplY3R9OwogfQog
CiBzdWIgSXNDb25zdHJ1Y3RhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsCmluZGV4IDQ2Y2QzYjhmOWNhOWMxMWFhNTFmYmQ5ZmE4
NzYwZmE3YjBmZDkzMzYuLjdmYWY0MDliZTgzNDE5NDQ4OGUwYzdmNmNhNTQ4MGIwOWYzYTFlNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1p
ZGxzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1p
ZGxzLnBsCkBAIC0xMzgsNyArMTM4LDcgQEAgZm9yZWFjaCBteSAkaWRsRmlsZSAoc29ydCBrZXlz
ICVpZGxGaWxlSGFzaCkgewogICAgICMgICBwcm9wZXJ0eSBtdXN0IGV4aXN0IG9uIHRoZSBFQ01B
U2NyaXB0IGVudmlyb25tZW50J3MgZ2xvYmFsIG9iamVjdC4KICAgICAjIFNlZSBodHRwczovL2hl
eWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1pbnRlcmZhY2VzCiAgICAgbXkgJGV4dGVuZGVkQXR0
cmlidXRlcyA9IGdldEludGVyZmFjZUV4dGVuZGVkQXR0cmlidXRlc0Zyb21JREwoJGlkbEZpbGVD
b250ZW50cyk7Ci0gICAgdW5sZXNzICgkZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vSW50ZXJmYWNl
T2JqZWN0In0pIHsKKyAgICBpZiAoc2hvdWxkRXhwb3NlSW50ZXJmYWNlKCRleHRlbmRlZEF0dHJp
YnV0ZXMpKSB7CiAgICAgICAgIGlmICghaXNDYWxsYmFja0ludGVyZmFjZUZyb21JREwoJGlkbEZp
bGVDb250ZW50cykgfHwgaW50ZXJmYWNlSGFzQ29uc3RhbnRBdHRyaWJ1dGUoJGlkbEZpbGVDb250
ZW50cykpIHsKICAgICAgICAgICAgIG15ICRleHBvc2VkQXR0cmlidXRlID0gJGV4dGVuZGVkQXR0
cmlidXRlcy0+eyJFeHBvc2VkIn0gfHwgIldpbmRvdyI7CiAgICAgICAgICAgICAkZXhwb3NlZEF0
dHJpYnV0ZSA9IHN1YnN0cigkZXhwb3NlZEF0dHJpYnV0ZSwgMSwgLTEpIGlmIHN1YnN0cigkZXhw
b3NlZEF0dHJpYnV0ZSwgMCwgMSkgZXEgIigiOwpAQCAtNDAzLDMgKzQwMywxMiBAQCBzdWIgaW50
ZXJmYWNlSGFzQ29uc3RhbnRBdHRyaWJ1dGUKIAogICAgIHJldHVybiAkZmlsZUNvbnRlbnRzID1+
IC9ccytjb25zdFtcc1x3XSs9XHMrW1x3XSs7L2dzOwogfQorCitzdWIgc2hvdWxkRXhwb3NlSW50
ZXJmYWNlCit7CisgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlcyA9IHNoaWZ0OworCisgICAgcmV0
dXJuIDAgaWYgJGV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb0ludGVyZmFjZU9iamVjdCJ9OworICAg
IHJldHVybiAwIGlmICRleHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZUlkZW50aWZpZXIifSAm
JiAhKCRleHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHVibGljSWRlbnRpZmllciJ9KTsKKyAgICByZXR1
cm4gMTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1ZmU3NmM4OWViZmM4MDcwN2U0MzM4ODFhMTNmNmQwYTk1N2NkNTQ0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotLyoKLSAgICBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhp
cyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9U
IE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaCIKLQotI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgotI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3IuaCIKLSNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
RnVuY3Rpb25Qcm90b3R5cGUuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFwU25hcHNo
b3RCdWlsZGVyLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgotI2lu
Y2x1ZGUgPHd0Zi9HZXRQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUG9pbnRlclByZXBhcmF0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi9VUkwuaD4KLQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBu
YW1lc3BhY2UgSlNDOwotCi0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUganNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3RvcihKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJv
b2wgc2V0SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1
Y3RvcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpT
VmFsdWUpOwotCi1jbGFzcyBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9i
amVjdFByb3RvdHlwZSA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewotcHVibGljOgot
ICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmplY3Q7Ci0gICAgc3RhdGljIEpTVGVz
dEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlKiBjcmVhdGUo
SlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZSogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFs
bG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFBy
b3RvdHlwZT4odm0uaGVhcCkpIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0UHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAgIHB0
ci0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAg
IERFQ0xBUkVfSU5GTzsKLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVy
ZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
VmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAg
ICBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlwZShK
U0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCi0gICAgICAgIDogSlNDOjpKU05vbkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCi0gICAg
ewotICAgIH0KLQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotfTsKLQotdXNp
bmcgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rv
ciA9IEpTRE9NQ29uc3RydWN0b3I8SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3Q+OwotCi10ZW1wbGF0ZTw+IEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3QoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgQVNTRVJUKGV4ZWMpOwot
ICAgIHJldHVybiBjb25zdHJ1Y3RKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdCgqZXhlYyk7Ci19Ci0KLXRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1
Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
Ci17Ci0gICAgVU5VU0VEX1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1bmN0
aW9uUHJvdG90eXBlKCk7Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDdXN0b21Db25zdHJ1
Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGll
cyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Ojpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZygmdm0s
IFN0cmluZygiVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Il9zKSks
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci19Ci0KLXRlbXBsYXRlPD4gY29uc3QgQ2xhc3NJ
bmZvIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIlRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcikg
fTsKLQotLyogSGFzaCB0YWJsZSBmb3IgcHJvdG90eXBlICovCi0KLXN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFBy
b3RvdHlwZVRhYmxlVmFsdWVzW10gPQotewotICAgIHsgImNvbnN0cnVjdG9yIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENvbnN0cnVjdG9yKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcikg
fSB9LAotfTsKLQotY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlOjpzX2luZm8gPSB7ICJUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlKSB9OwotCi12b2lkIEpTVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0pCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIHJlaWZ5U3RhdGljUHJv
cGVydGllcyh2bSwgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6
OmluZm8oKSwgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RQcm90
b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwotfQotCi1jb25zdCBDbGFzc0luZm8gSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OnNfaW5mbyA9IHsgIlRlc3RDdXN0
b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3QpIH07Ci0KLUpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0OjpKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9i
amVjdChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4mJiBpbXBs
KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdD4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCi17Ci19Ci0K
LXZvaWQgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAg
QVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLQotfQotCi1KU09iamVjdCogSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OmNyZWF0ZVByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIEpTVGVz
dEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0UHJvdG90eXBlOjpjcmVhdGUo
dm0sICZnbG9iYWxPYmplY3QsIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSkpOwotfQotCi1KU09iamVjdCogSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIGdldERPTVByb3RvdHlw
ZTxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4odm0sIGdsb2Jh
bE9iamVjdCk7Ci19Ci0KLXZvaWQgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3Q6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2Fz
dDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCo+KGNlbGwpOwot
ICAgIHRoaXNPYmplY3QtPkpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2Jq
ZWN0Ojp+SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QoKTsKLX0K
LQotRW5jb2RlZEpTVmFsdWUganNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3RDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkKLXsKLSAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKLSAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBwcm90b3R5
cGUgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0UHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAgICBp
ZiAoVU5MSUtFTFkoIXByb3RvdHlwZSkpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9y
KHN0YXRlLCB0aHJvd1Njb3BlKTsKLSAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yID0gSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHN0
YXRlLT52bSgpLCBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdENv
bnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoc3RhdGUtPnZtKCksICpwcm90b3R5cGUtPmdsb2Jh
bE9iamVjdCgpLCBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSks
ICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpKSk7
Ci0gICAgLy8gU2hhZG93aW5nIGNvbnN0cnVjdG9yIHByb3BlcnR5IHRvIGVuc3VyZSByZXVzaW5n
IHRoZSBzYW1lIGNvbnN0cnVjdG9yIG9iamVjdAotICAgIHByb3RvdHlwZS0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgY29uc3RydWN0b3IsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0b3IpOwotfQotCi1ib29sIHNldEpTVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBz
dGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpCi17Ci0gICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byogcHJvdG90eXBlID0ganNEeW5hbWlj
Q2FzdDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdFByb3RvdHlw
ZSo+KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFw
cm90b3R5cGUpKSB7Ci0gICAgICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUp
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0
LWluIGNvbnN0cnVjdG9yCi0gICAgcmV0dXJuIHByb3RvdHlwZS0+cHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSkp
OwotfQotCi12b2lkIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
OjpoZWFwU25hcHNob3QoSlNDZWxsKiBjZWxsLCBIZWFwU25hcHNob3RCdWlsZGVyJiBidWlsZGVy
KQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqPihjZWxsKTsKLSAgICBidWlsZGVyLnNldFdyYXBwZWRP
YmplY3RGb3JDZWxsKGNlbGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlz
T2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGJ1aWxkZXIuc2V0TGFi
ZWxGb3JDZWxsKGNlbGwsIFN0cmluZzo6Zm9ybWF0KCJ1cmwgJXMiLCB0aGlzT2JqZWN0LT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpKTsKLSAg
ICBCYXNlOjpoZWFwU25hcHNob3QoY2VsbCwgYnVpbGRlcik7Ci19Ci0KLWJvb2wgSlNUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RPd25lcjo6aXNSZWFjaGFibGVGcm9t
T3BhcXVlUm9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90
VmlzaXRvciYgdmlzaXRvciwgY29uc3QgY2hhcioqIHJlYXNvbikKLXsKLSAgICBVTlVTRURfUEFS
QU0oaGFuZGxlKTsKLSAgICBVTlVTRURfUEFSQU0odmlzaXRvcik7Ci0gICAgVU5VU0VEX1BBUkFN
KHJlYXNvbik7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIEpTVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0T3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpT
Qzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQotewotICAgIGF1dG8qIGpzVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNUZXN0
Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqPihoYW5kbGUuc2xvdCgpLT5h
c0NlbGwoKSk7Ci0gICAgYXV0byYgd29ybGQgPSAqc3RhdGljX2Nhc3Q8RE9NV3JhcHBlcldvcmxk
Kj4oY29udGV4dCk7Ci0gICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZqc1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC0+d3JhcHBlZCgpLCBqc1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCk7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19J
TlRFR1JJVFkpCi0jaWYgUExBVEZPUk0oV0lOKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0
ODMpCi1leHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RAV2ViQ29yZUBANkJAIilb
XSkoKTsgfQotI2Vsc2UKLWV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQy
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0RVtdOyB9Ci0jZW5kaWYK
LSNlbmRpZgotCi1KU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+JiYgaW1wbCkKLXsKLQotI2lmIEVOQUJMRShCSU5ESU5H
X0lOVEVHUklUWSkKLSAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihyZWludGVycHJl
dF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBXVEZfUFJFUEFSRV9WVEJMX1BPSU5URVJfRk9SX0lO
U1BFQ1RJT04oX19pZGVudGlmaWVyKCI/P183VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50
ZXJmYWNlT2JqZWN0QFdlYkNvcmVAQDZCQCIpKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZf
WlRWTjdXZWJDb3JlNDJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3RF
WzJdKTsKLSNlbmRpZgotCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5l
ZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19w
b2x5bW9ycGhpYzxUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+Ojp2
YWx1ZSwgIlRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NF
UlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlm
Ci0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50
ZXJmYWNlT2JqZWN0PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwotfQotCi1KU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCYgaW1w
bCkKLXsKLSAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKTsKLX0KLQot
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KiBKU1Rlc3RDdXN0b21D
b25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdDo6dG9XcmFwcGVkKEpTQzo6Vk0mIHZtLCBK
U0M6OkpTVmFsdWUgdmFsdWUpCi17Ci0gICAgaWYgKGF1dG8qIHdyYXBwZXIgPSBqc0R5bmFtaWND
YXN0PEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Kj4odm0sIHZh
bHVlKSkKLSAgICAgICAgcmV0dXJuICZ3cmFwcGVyLT53cmFwcGVkKCk7Ci0gICAgcmV0dXJuIG51
bGxwdHI7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNv
bnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRjZGUyZTliZDAyZjM4NWI2NTYyYTY0NTc0MTA1Mzc2ZjY1MDM0NTEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICAgIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlz
IGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1Qg
TU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAg
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCi0j
aW5jbHVkZSAiVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgiCi0j
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QgOiBwdWJs
aWMgSlNET01XcmFwcGVyPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dD4gewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0RPTVdyYXBwZXI8VGVzdEN1c3RvbUNv
bnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PjsKLSAgICBzdGF0aWMgSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIGNyZWF0ZShKU0M6OlN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PiYmIGltcGwpCi0gICAgewotICAgICAg
ICBKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogcHRyID0gbmV3
IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhO
b0ludGVyZmFjZU9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpLmhlYXApKSBKU1Rlc3RDdXN0b21D
b25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChzdHJ1Y3R1cmUsICpnbG9iYWxPYmplY3Qs
IFdURk1vdmUoaW1wbCkpOwotICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVj
dC0+dm0oKSk7Ci0gICAgICAgIHJldHVybiBwdHI7Ci0gICAgfQotCi0gICAgc3RhdGljIEpTQzo6
SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsK
LSAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogcHJvdG90eXBlKEpTQzo6Vk0mLCBKU0RPTUdsb2Jh
bE9iamVjdCYpOwotICAgIHN0YXRpYyBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3QqIHRvV3JhcHBlZChKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGhlYXBTbmFwc2hvdChKU0Nl
bGwqLCBKU0M6OkhlYXBTbmFwc2hvdEJ1aWxkZXImKTsKLXByb3RlY3RlZDoKLSAgICBKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChKU0M6OlN0cnVjdHVyZSosIEpT
RE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdD4mJik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0K
LWNsYXNzIEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0T3duZXIg
OiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIgewotcHVibGljOgotICAgIHZpcnR1YWwgYm9v
bCBpc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2
b2lkKiBjb250ZXh0LCBKU0M6OlNsb3RWaXNpdG9yJiwgY29uc3QgY2hhcioqKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4
dCk7Ci19OwotCi1pbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01X
cmFwcGVyV29ybGQmLCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Qq
KQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdE93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgp
OwotfQotCi1pbmxpbmUgdm9pZCogd3JhcHBlcktleShUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRo
Tm9JbnRlcmZhY2VPYmplY3QqIHdyYXBwYWJsZU9iamVjdCkKLXsKLSAgICByZXR1cm4gd3JhcHBh
YmxlT2JqZWN0OwotfQotCi1KU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
Jik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QqIGltcGwpIHsgcmV0dXJuIGltcGwgPyB0b0pTKHN0YXRlLCBnbG9iYWxP
YmplY3QsICppbXBsKSA6IEpTQzo6anNOdWxsKCk7IH0KLUpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBSZWY8VGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PiYmKTsKLWlubGluZSBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZlB0cjxUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRl
cmZhY2VPYmplY3Q+JiYgaW1wbCkgeyByZXR1cm4gaW1wbCA/IHRvSlNOZXdseUNyZWF0ZWQoc3Rh
dGUsIGdsb2JhbE9iamVjdCwgaW1wbC5yZWxlYXNlTm9uTnVsbCgpKSA6IEpTQzo6anNOdWxsKCk7
IH0KLQotLy8gQ3VzdG9tIGNvbnN0cnVjdG9yCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY29uc3RydWN0SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3QoSlNDOjpFeGVjU3RhdGUmKTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29u
dmVydGVyVHJhaXRzPFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4g
ewotICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0OwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDdXN0b21Db25zdHJ1Y3Rvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdEN1c3RvbUNvbnN0cnVjdG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggY2IzZGZjYzFjZjNhMGRjYzI4OWY5NmM4ZTQyZmU1NjZmMmQyMWYyYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEN1c3RvbUNvbnN0cnVjdG9yLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24g
SW5jLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkLCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIHJlcXVpcmVkIHRv
IGJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQK
LSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
Q0FOT04gSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0gKiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1bCi0gICAgQ3VzdG9tQ29uc3RydWN0b3IsCi0gICAgTm9JbnRlcmZhY2VPYmpl
Y3QKLV0gaW50ZXJmYWNlIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dCB7Ci19Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>