<?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>166868</bug_id>
          
          <creation_ts>2017-01-09 15:49:45 -0800</creation_ts>
          <short_desc>[iOS] Drop VNodeTracker</short_desc>
          <delta_ts>2017-01-09 16:47:14 -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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1265178</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-09 15:49:45 -0800</bug_when>
    <thetext>Drop VNodeTracker on iOS. This was introduced a while back to trigger and address vnode exhaustion issues in long running page load tests. However, there was no evidence that the VNodeTracker functionality helped so there is little point in keeping the extra code complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265181</commentid>
    <comment_count>1</comment_count>
      <attachid>298406</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-09 15:51:17 -0800</bug_when>
    <thetext>Created attachment 298406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265186</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-09 15:59:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/29937587&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265187</commentid>
    <comment_count>3</comment_count>
      <attachid>298409</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-09 16:00:39 -0800</bug_when>
    <thetext>Created attachment 298409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265199</commentid>
    <comment_count>4</comment_count>
      <attachid>298409</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-01-09 16:21:51 -0800</bug_when>
    <thetext>Comment on attachment 298409
Patch

So long, VNodeTracker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265208</commentid>
    <comment_count>5</comment_count>
      <attachid>298409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-09 16:47:07 -0800</bug_when>
    <thetext>Comment on attachment 298409
Patch

Clearing flags on attachment: 298409

Committed r210532: &lt;http://trac.webkit.org/changeset/210532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265209</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-09 16:47:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298406</attachid>
            <date>2017-01-09 15:51:17 -0800</date>
            <delta_ts>2017-01-09 16:00:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166868-20170109154942.patch</filename>
            <type>text/plain</type>
            <size>20070</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA0OGQ1M2RkMzY5MWQ1
NGJiNDc2YWQyMDllNDJkOTc2OWNkN2Q3NC4uMGI2NDc0OGI5ZDRhOTFlNDk0ZDA3OTcwMmNjYmMw
OWE1YmI1MWY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTAxLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRHJvcCBWTm9kZVRy
YWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
Njg2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERy
b3AgVk5vZGVUcmFja2VyIG9uIGlPUy4gVGhpcyB3YXMgaW50cm9kdWNlZCBhIHdoaWxlIGJhY2sg
dG8gdHJ5IGFuZAorICAgICAgICBhZGRyZXNzIHZub2RlIGV4aGF1c3Rpb24gaXNzdWVzIGluIGxv
bmcgcnVubmluZyBwYWdlIGxvYWQgdGVzdHMuCisgICAgICAgIEhvd2V2ZXIsIHRoZXJlIHdhcyBu
byBldmlkZW5jZSB0aGF0IHRoZSBWTm9kZVRyYWNrZXIgZnVuY3Rpb25hbGl0eQorICAgICAgICBo
ZWxwZWQgc28gdGhlcmUgaXMgbGl0dGxlIHBvaW50IGluIGtlZXBpbmcgdGhlIGV4dHJhIGNvZGUg
Y29tcGxleGl0eS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9WTm9kZVRyYWNrZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJh
Y2tlci5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6U2hhcmVkQnVmZmVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9WTm9kZVRyYWNrZXJDb2NvYS5jcHA6IFJlbW92ZWQuCisKIDIw
MTctMDEtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5pbmRlbnRpbmcgdGV4dCBpbnNpZGUgYSBibG9ja3F1b3RlIGNhbiByZXN1bHQgaW4gdGhl
IHRleHQgYmVpbmcgcmVvcmRlcmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzliYmRiMjE1ZjU3MDEzMjgxOTJm
MjhmYTcxMzdlMzFjZjY1OGUyMS4uZjQyOTEzNjE4YWU1NDRiYjg2MTVhOWU5MDI3N2ZhNDZhZWM3
YTE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAxLTA5ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRHJvcCBWTm9kZVRyYWNrZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njg2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDE3LTAxLTA5ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VsZWN0aW9uIGFuaW1hdGlv
biBmbGFzaGluZyBvbiBlZGl0YWJsZSBjb250ZW50IHdoZW4gem9vbWluZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2Y2M0MjM5
OTdiY2Q3YWJjNGJmZmM5MzQ4N2UxMWMxNDNjMjRlMzdhLi4xMzM2ZmNlM2E4Y2M0NTZjNmE4MTRi
ZjMzMTBmY2FjY2EzMGY0ZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzQ2LDE0ICsxNzQ2LDExIEBACiAJCTQ2QjYzRjZD
MUM2RThEMTkwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkxNEIg
LyogSlNFdmVudFRhcmdldEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ2QzgzRUZEMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmll
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM4
M0VGQjFBOUJCRTI5MDBBNzlBNDEgLyogR2VvTm90aWZpZXIuY3BwICovOyB9OwogCQk0NkM4M0VG
RTFBOUJCRTI5MDBBNzlBNDEgLyogR2VvTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9O
b3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCTQ2REI3RDU3MUIyMEZFNDYwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRCN0Q1NjFCMjBG
RTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovOyB9OwogCQk0NkRCQjY1MDFB
QjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZEQkI2NEUxQUI4Qzk2RjAwRDlBODEzIC8qIFBv
d2VyT2JzZXJ2ZXJNYWMuaCAqLzsgfTsKIAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNo
YWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkRGRjQ5NjFEQzI2MDEzMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkRGRjQ5QjFEQzI2
MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGRjQ5OTFEQzI2MUY5MDBCODBCNDggLyogSlNT
aGFkb3dSb290TW9kZS5jcHAgKi87IH07CiAJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0OCAvKiBK
U1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NkRGRjQ5QTFEQzI2MUY5MDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5oICov
OyB9OwogCQk0NkVCRUEwMjFCN0Q0RDY1MDBCRTQ5NDEgLyogQ29sbGVjdGlvblRyYXZlcnNhbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFQkVBMDEx
QjdENEQ1RDAwQkU0OTQxIC8qIENvbGxlY3Rpb25UcmF2ZXJzYWwuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0NkYzRTNGOTFCMjEwOTAwMDA4N0VE
MTMgLyogVk5vZGVUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ2REI3RDU4MUIyMEZFNTgwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXIuY3Bw
ICovOyB9OwotCQk0NkYzRTNGQTFCMjEwOTEwMDA4N0VEMTMgLyogVk5vZGVUcmFja2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRCN0Q1OTFCMjBG
RTU4MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZGQ0I2MTgxQTcwODIwRTAwQzVBMjFFIC8qIERpYWdu
b3N0aWNMb2dnaW5nS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzN0IzNzUxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5
MDcwN0U2MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNDEyMTlDMDQzMDBE
OTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuY3BwICovOyB9OwogCQk0OTA3MDdFNzEyMTlDMDQz
MDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5MDcwN0U1MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdl
YktpdEJyaWRnZS5oICovOyB9OwpAQCAtODkzOSw5ICs4OTM2LDYgQEAKIAkJNDZCNjNGNkIxQzZF
OENERjAwMkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldEN1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NkM4M0VGQjFBOUJCRTI5MDBBNzlBNDEgLyogR2VvTm90aWZpZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VvTm90aWZpZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkM4M0VGQzFBOUJCRTI5MDBBNzlBNDEgLyogR2Vv
Tm90aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvTm90aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDZEQjdENTYxQjIwRkUzQzAwNTY1MUIy
IC8qIFZOb2RlVHJhY2tlckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFZOb2RlVHJhY2tlckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNDZEQjdENTgxQjIwRkU1ODAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWTm9kZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0NkRCN0Q1OTFCMjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFj
a2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZOb2RlVHJhY2tlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkRCQjY0RTFBQjhDOTZGMDBEOUE4MTMgLyog
UG93ZXJPYnNlcnZlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3dl
ck9ic2VydmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REZGNDk2MURD
MjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTaGFkb3dSb290TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NkRGRjQ5NzFEQzI2MDEzMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFNoYWRvd1Jvb3RNb2RlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE5Nzk4LDcgKzE5NzkyLDYgQEAKIAkJCQk3Q0M1NjRCOTE4QkFDNzIwMDAxQjk2
NTIgLyogVGVsZXBob25lTnVtYmVyRGV0ZWN0b3JDb2NvYS5jcHAgKi8sCiAJCQkJMzEwRDcxOTQx
QjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAqLywKIAkJCQkzMTBENzE5MzFCMzM1QzlE
MDA5QzdCNzMgLyogVGhlbWVDb2NvYS5tbSAqLywKLQkJCQk0NkRCN0Q1NjFCMjBGRTNDMDA1NjUx
QjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovLAogCQkJCUNEQzk3OUYzMUM0OThDMDkwMERC
NTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oICovLAogCQkJCUNEQzk3OUYyMUM0OThDMDkw
MERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5tbSAqLywKIAkJCQk1REZFQkFCNjE4NTky
QjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggKi8sCkBAIC0yMjY3MSw4ICsyMjY2
NCw2IEBACiAJCQkJMkUzQkJGMDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLywKIAkJCQk4
M0M0NUI4RDFEQzJCNjdDMDA4ODcxQkEgLyogVmFsaWRhdGlvbkJ1YmJsZS5oICovLAogCQkJCTlB
MTE0MjAzMTgzMkQxMzQwMDBCQjhBRCAvKiBWYWx1ZVRvU3RyaW5nLmggKi8sCi0JCQkJNDZEQjdE
NTgxQjIwRkU1ODAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlci5jcHAgKi8sCi0JCQkJNDZEQjdENTkx
QjIwRkU1ODAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlci5oICovLAogCQkJCTUxNUY3OTUxMUNGQ0Ez
QzcwMENDRUQ5MyAvKiBXZWJDb3JlQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwICovLAogCQkJCTUxNUY3
OTUyMUNGQ0EzQzcwMENDRUQ5MyAvKiBXZWJDb3JlQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLywKIAkJ
CQk5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmNwcCAqLywKQEAgLTI4MTg0LDcg
KzI4MTc1LDYgQEAKIAkJCQk5MzMwOUUxRTA5OUU2NDkyMDA1NkU1ODEgLyogVmlzaWJsZVVuaXRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTlCQzJERjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRl
ZExpbmtTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQTgwMDAxODk3MzQxMjAwRENFOUQ2
IC8qIFZpc2l0ZWRMaW5rU3RvcmUuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2RjNFM0ZBMUIyMTA5
MTAwMDg3RUQxMyAvKiBWTm9kZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0I2
MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJF
MjA1MDdBMThBNDU4NkIwMDgwNjQ3RSAvKiBWVFRDdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdB
RjlCMjAzMThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb24uaCBpbiBIZWFkZXJzICovLApAQCAt
MzE2ODIsOCArMzE2NzIsNiBAQAogCQkJCTkzMzA5RTFEMDk5RTY0OTIwMDU2RTU4MSAvKiBWaXNp
YmxlVW5pdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5QkMyREUxNjg1MzI5OTAwRDY0RDZE
IC8qIFZpc2l0ZWRMaW5rU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFGNENFRUMxOEJD
M0MxQjAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NDZGM0UzRjkxQjIxMDkwMDAwODdFRDEzIC8qIFZOb2RlVHJhY2tlci5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk0NkRCN0Q1NzFCMjBGRTQ2MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyQ29jb2EuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkUyMDUwNzkxOEE0NTg2ODAwODA2NDdFIC8qIFZUVEN1ZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUY5QjIwMjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVn
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjA1MThDRkIyREYwMEM2NEJFRiAvKiBW
VFRSZWdpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuaAppbmRleCBjZGMyMWJjMDU2NjExMzU3NDhlYTMwMTQzOWJlMGQzMDE4YjIyMmE1
Li5hZjk0MDY4YTZlMmU5YjQxOGUxMjg5Zjg3YWZjZGViODFlNTA0MTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgVVNFKENGKQotI2luY2x1ZGUgIlZOb2RlVHJhY2tl
ci5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCkBAIC0xNzIsNyArMTcx
LDYgQEAgcHJpdmF0ZToKICNpZiBVU0UoQ0YpCiAgICAgZXhwbGljaXQgU2hhcmVkQnVmZmVyKENG
RGF0YVJlZik7CiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gbV9jZkRhdGE7Ci0gICAgVk5vZGVU
cmFja2VyOjpUb2tlbiBtX3Zub2RlVG9rZW47CiAjZW5kaWYKIAogI2lmIFVTRShTT1VQKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0ZmNmOTYxZTAxOTE0NGEyMWZmNGQzZGMwZTE4ZjlmYzkyOGUxYTcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVk5vZGVUcmFja2Vy
LmgiCi0KLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6
OnNpbmdsZXRvbigpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZOb2RlVHJhY2tlcj4g
dm5vZGVUcmFja2VyOwotICAgIHJldHVybiB2bm9kZVRyYWNrZXI7Ci19Ci0KLVZOb2RlVHJhY2tl
cjo6Vk5vZGVUcmFja2VyKCkKLSAgICA6IG1fdm5vZGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVy
RXZlbnQgZXZlbnQpIHsgaWYgKGV2ZW50ID09IFJlZkNvdW50ZXJFdmVudDo6SW5jcmVtZW50KSBj
aGVja1ByZXNzdXJlU3RhdGUoKTsgfSkKLSAgICAsIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIoKnRo
aXMsICZWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQpCi0gICAgLCBtX2xh
c3RXYXJuaW5nVGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKLXsKLSAgICBw
bGF0Zm9ybUluaXRpYWxpemUoKTsKLQotICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgIlVzaW5nIGZv
bGxvd2luZyB2bm9kZSBsaW1pdHMgZm9yIHRoaXMgcHJvY2Vzczogc29mdD0ldSwgaGFyZD0ldSIs
IG1fc29mdFZOb2RlTGltaXQsIG1faGFyZFZOb2RlTGltaXQpOwotfQotCi12b2lkIFZOb2RlVHJh
Y2tlcjo6Y2hlY2tQcmVzc3VyZVN0YXRlKCkKLXsKLSAgICBBU1NFUlQobV9wcmVzc3VyZUhhbmRs
ZXIpOwotCi0gICAgaWYgKG1fdm5vZGVDb3VudGVyLnZhbHVlKCkgPD0gbV9zb2Z0Vk5vZGVMaW1p
dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3ByZXNzdXJlV2FybmluZ1RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIuc3RhcnRPbmVTaG90KG5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpKTsKLX0KLQotdm9pZCBWTm9kZVRyYWNrZXI6OnBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKQotewotICAgIGlmIChtX3Zub2RlQ291bnRlci52YWx1
ZSgpIDw9IG1fc29mdFZOb2RlTGltaXQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbGFzdFdh
cm5pbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7Ci0gICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKLSAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7Ci0gICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKLX0KLQotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0Ci17Ci0gICAgLy8gV2UgcnVuIHRoZSB2
bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGV2ZXJ5IDMwIHNlY29uZHMgYXQgbW9zdC4KLSAgICBzdGF0
aWMgY29uc3QgYXV0byBtaW5pbXVtV2FybmluZ0ludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29u
ZHMgeyAzMCB9OwotICAgIGF1dG8gdGltZVNpbmNlTGFzdFdhcm5pbmcgPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOwotICAgIGlmICh0aW1lU2lu
Y2VMYXN0V2FybmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwpCi0gICAgICAgIHJldHVybiBz
dGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihtaW5p
bXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmcpOwotICAgIHJldHVybiBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMCB9OwotfQotCi0jaWYgIVBMQVRGT1JNKENPQ09B
KQotCi12b2lkIFZOb2RlVHJhY2tlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKLXsKLX0KLQotI2Vu
ZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVU
cmFja2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiMDExMGU4M2U3YTE2ZGE5
NjQ4MDEzMDg1YWJmZTE4MjYwZjRhMjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBWTm9kZVRy
YWNrZXJfaAotI2RlZmluZSBWTm9kZVRyYWNrZXJfaAotCi0jaW5jbHVkZSAiTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDxjaHJvbm8+Ci0jaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlci5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFZOb2RlVHJhY2tlciB7Ci0gICAgZnJpZW5kIGNsYXNz
IFdURjo6TmV2ZXJEZXN0cm95ZWQ8Vk5vZGVUcmFja2VyPjsKLXB1YmxpYzoKLSAgICB1c2luZyBQ
cmVzc3VyZUhhbmRsZXIgPSBzdGQ6OmZ1bmN0aW9uPHZvaWQoQ3JpdGljYWwpPjsKLQotICAgIGVu
dW0gVk5vZGVDb3VudGVyVHlwZSB7IH07Ci0gICAgdXNpbmcgVk5vZGVDb3VudGVyID0gUmVmQ291
bnRlcjxWTm9kZUNvdW50ZXJUeXBlPjsKLSAgICB1c2luZyBUb2tlbiA9IFZOb2RlQ291bnRlcjo6
VG9rZW47Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgVk5vZGVUcmFja2VyJiBzaW5nbGV0
b24oKTsKLQotICAgIHZvaWQgc2V0UHJlc3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlcik7Ci0g
ICAgVG9rZW4gdG9rZW4oKTsKLQotcHJpdmF0ZToKLSAgICBWTm9kZVRyYWNrZXIoKTsKLQotICAg
IHZvaWQgY2hlY2tQcmVzc3VyZVN0YXRlKCk7Ci0gICAgdm9pZCBwcmVzc3VyZVdhcm5pbmdUaW1l
ckZpcmVkKCk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBuZXh0UHJlc3N1cmVXYXJu
aW5nSW50ZXJ2YWwoKSBjb25zdDsKLQotICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7Ci0K
LSAgICB1bnNpZ25lZCBtX2hhcmRWTm9kZUxpbWl0IHsgNDAwIH07Ci0gICAgdW5zaWduZWQgbV9z
b2Z0Vk5vZGVMaW1pdCB7IDMwMCB9OwotICAgIFByZXNzdXJlSGFuZGxlciBtX3ByZXNzdXJlSGFu
ZGxlcjsKLSAgICBWTm9kZUNvdW50ZXIgbV92bm9kZUNvdW50ZXI7Ci0gICAgVGltZXIgbV9wcmVz
c3VyZVdhcm5pbmdUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IG1fbGFzdFdhcm5pbmdUaW1lOwotfTsKLQotaW5saW5lIHZvaWQgVk5vZGVUcmFja2VyOjpz
ZXRQcmVzc3VyZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhhbmRsZXIpCi17Ci0gICAgbV9wcmVz
c3VyZUhhbmRsZXIgPSBoYW5kbGVyOwotfQotCi1pbmxpbmUgYXV0byBWTm9kZVRyYWNrZXI6OnRv
a2VuKCkgLT4gVG9rZW4KLXsKLSAgICByZXR1cm4gbV9wcmVzc3VyZUhhbmRsZXIgPyBtX3Zub2Rl
Q291bnRlci5jb3VudCgpIDogVG9rZW4oKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gVk5vZGVUcmFja2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nm
L1NoYXJlZEJ1ZmZlckNGLmNwcAppbmRleCAyYzg5ZmM1ODBlNTA0ODk1OGYxMmJkMzVhZGZmYjAw
ZDIwNDRjOGExLi44M2VhMzNiMzU5YTY2ZTBmZGE2NDliZjQ5ODRmY2Q4YTg3NDJiZGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCkBAIC0zNiw3
ICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNoYXJlZEJ1ZmZlcjo6U2hhcmVkQnVmZmVy
KENGRGF0YVJlZiBjZkRhdGEpCiAgICAgOiBtX2J1ZmZlcihhZG9wdFJlZigqbmV3IERhdGFCdWZm
ZXIpKQogICAgICwgbV9jZkRhdGEoY2ZEYXRhKQotICAgICwgbV92bm9kZVRva2VuKFZOb2RlVHJh
Y2tlcjo6c2luZ2xldG9uKCkudG9rZW4oKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvVk5vZGVUcmFja2VyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvVk5vZGVUcmFja2VyQ29jb2EuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhYjBlMmUwYTczMWYzZjFlNjU1YWQxZGJlMjQyMmRiY2IxYmYzNmQ5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1ZOb2RlVHJhY2tlckNvY29hLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVk5vZGVUcmFja2VyLmgiCi0KLSNp
bmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHN5cy9z
eXNjdGwuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci12b2lkIFZOb2RlVHJhY2tlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKLXsKLSAgICB1bnNpZ25l
ZCBzeXN0ZW1NYXhWTm9kZXMgPSAwOwotICAgIHNpemVfdCBsZW4gPSBzaXplb2Yoc3lzdGVtTWF4
Vk5vZGVzKTsKLQotICAgIC8vIFF1ZXJ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiB2bm9kZXMgb24g
dGhlIHN5c3RlbSBhbmQgdXNlIDE1JSBvZiB0aGF0IHZhbHVlIGFzIHNvZnQgbGltaXQgZm9yIHRo
aXMgcHJvY2VzcywKLSAgICAvLyBhbmQgMjAlIG9mIHRoYXQgdmFsdWUgYXMgaGFyZCBsaW1pdC4K
LSAgICBpZiAoc3lzY3RsYnluYW1lKCJrZXJuLm1heHZub2RlcyIsICZzeXN0ZW1NYXhWTm9kZXMs
ICZsZW4sIG51bGxwdHIsIDApKQotICAgICAgICByZXR1cm47Ci0KLSAgICBMT0coTWVtb3J5UHJl
c3N1cmUsICJTeXN0ZW0gdm5vZGUgbGltaXQgaXMgJXUiLCBzeXN0ZW1NYXhWTm9kZXMpOwotCi0g
ICAgbV9zb2Z0Vk5vZGVMaW1pdCA9IHN0ZDo6bWF4KG1fc29mdFZOb2RlTGltaXQsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihzeXN0ZW1NYXhWTm9kZXMgKiAwLjE1KSk7Ci0gICAgbV9oYXJkVk5vZGVM
aW1pdCA9IHN0ZDo6bWF4KG1faGFyZFZOb2RlTGltaXQsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihz
eXN0ZW1NYXhWTm9kZXMgKiAwLjIpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpp
bmRleCBkNGQ2MWMxNTIxMDlkNjhkMzNhZTI0NWMwN2Q1MjE5NWEyZDVmZWIyLi40YzE1MDJjNGYz
ODFmZWVlNmIxODBmM2E1MTgzNjgzOTJmZWFhNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNTMsNyArNTMsNiBAQAog
I2ltcG9ydCA8V2ViQ29yZS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UGVyZm9ybWFuY2VMb2dnaW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oPgotI2ltcG9ydCA8V2ViQ29yZS9WTm9kZVRyYWNrZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV2ViQ29yZU5TVVJMRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL3B0aHJlYWRTUEku
aD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgpAQCAtMTI0LDE1ICsxMjMsNiBA
QCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcgogICAgIFdlYkNvcmU6OnJlZ2lzdGVyTWVtb3J5UmVs
ZWFzZU5vdGlmeUNhbGxiYWNrcygpOwogICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6UmVsaWVm
TG9nZ2VyOjpzZXRMb2dnaW5nRW5hYmxlZChwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU1lbW9yeVBy
ZXNzdXJlUmVsaWVmTG9nZ2luZyk7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gVHJhY2sg
dGhlIG51bWJlciBvZiB2bm9kZXMgd2UgYXJlIHVzaW5nIG9uIGlPUyBhbmQgbWFrZSBzdXJlIHdl
IG9ubHkgdXNlIGEKLSAgICAvLyByZWFzb25hYmxlIGFtb3VudCBiZWNhdXNlIGxpbWl0cyBhcmUg
ZmFpcmx5IGxvdyBvbiBpT1MgZGV2aWNlcyBhbmQgd2UgY2FuCi0gICAgLy8gZ2V0IGtpbGxlZCB3
aGVuIHJlYWNoaW5nIHRoZSBsaW1pdC4KLSAgICBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpLnNl
dFByZXNzdXJlSGFuZGxlcihbXSAoQ3JpdGljYWwgY3JpdGljYWwpIHsKLSAgICAgICAgTWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5yZWxlYXNlTWVtb3J5KGNyaXRpY2FsKTsKLSAg
ICB9KTsKLSNlbmRpZgotCiAgICAgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHBhcmFtZXRlcnMu
YWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQpOwogCiAjaWYgVVNFKEFQ
UEtJVCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298409</attachid>
            <date>2017-01-09 16:00:39 -0800</date>
            <delta_ts>2017-01-09 16:47:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166868-20170109155904.patch</filename>
            <type>text/plain</type>
            <size>21437</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA0OGQ1M2RkMzY5MWQ1
NGJiNDc2YWQyMDllNDJkOTc2OWNkN2Q3NC4uNDQxM2U3NjVkN2Y2ZGEwNTEyNTMxZWE0NmE2Mjlh
MDg3YjQ5ODZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTAxLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRHJvcCBWTm9kZVRy
YWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
Njg2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk5Mzc1ODc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBWTm9kZVRyYWNrZXIgb24gaU9T
LiBUaGlzIHdhcyBpbnRyb2R1Y2VkIGEgd2hpbGUgYmFjayB0byB0cnkgYW5kCisgICAgICAgIGFk
ZHJlc3Mgdm5vZGUgZXhoYXVzdGlvbiBpc3N1ZXMgaW4gbG9uZyBydW5uaW5nIHBhZ2UgbG9hZCB0
ZXN0cy4KKyAgICAgICAgSG93ZXZlciwgdGhlcmUgd2FzIG5vIGV2aWRlbmNlIHRoYXQgdGhlIFZO
b2RlVHJhY2tlciBmdW5jdGlvbmFsaXR5CisgICAgICAgIGhlbHBlZCBzbyB0aGVyZSBpcyBsaXR0
bGUgcG9pbnQgaW4ga2VlcGluZyB0aGUgZXh0cmEgY29kZSBjb21wbGV4aXR5LgorCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vVk5vZGVUcmFja2VyLmg6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2hhcmVkQnVmZmVyOjpTaGFyZWRCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1ZO
b2RlVHJhY2tlckNvY29hLmNwcDogUmVtb3ZlZC4KKwogMjAxNy0wMS0wOSAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBVbmluZGVudGluZyB0ZXh0IGlu
c2lkZSBhIGJsb2NrcXVvdGUgY2FuIHJlc3VsdCBpbiB0aGUgdGV4dCBiZWluZyByZW9yZGVyZWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjOWJiZGIyMTVmNTcwMTMyODE5MmYyOGZhNzEzN2UzMWNmNjU4ZTIxLi5k
ZjZkZmEyYzYyYzFjZTNmMTZlMWY5NzlhMjUxOGFhZjI2NGJlOWVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTctMDEtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBbaU9TXSBEcm9wIFZOb2RlVHJhY2tlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2ODY4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yOTkzNzU4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxNy0w
MS0wOSAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFNlbGVj
dGlvbiBhbmltYXRpb24gZmxhc2hpbmcgb24gZWRpdGFibGUgY29udGVudCB3aGVuIHpvb21pbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDRmZGYyZjQzNTIyZDliYzIyMzc1ODQ0ZjQ4
MmUzNzJmMjhlOWNjNGEuLmI4MTJiOWMxYWU3ZmQ4MzExYTBkMGU2M2VkODMzZTkwMTdhZGRmYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0yODgsNyArMjg4LDYgQEAgbGlzdChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKICAg
ICBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MubW0KICAgICBwbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5jcHAKLSAgICBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCiAKICAgICBwbGF0
Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCiAKQEAgLTMzMSw3ICszMzAsNiBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9jb2NvYS9TeXN0ZW1WZXJzaW9uLm1t
CiAgICAgcGxhdGZvcm0vY29jb2EvVGVsZXBob25lTnVtYmVyRGV0ZWN0b3JDb2NvYS5jcHAKICAg
ICBwbGF0Zm9ybS9jb2NvYS9UaGVtZUNvY29hLm1tCi0gICAgcGxhdGZvcm0vY29jb2EvVk5vZGVU
cmFja2VyQ29jb2EuY3BwCiAgICAgcGxhdGZvcm0vY29jb2EvV2ViQ29yZU5TRXJyb3JFeHRyYXMu
bW0KIAogICAgIHBsYXRmb3JtL2NyeXB0by9jb21tb25jcnlwdG8vQ3J5cHRvRGlnZXN0Q29tbW9u
Q3J5cHRvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW4uY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCAwMWRhOTA2YWE0MzI0MDhm
ZWRjODhhNmM5YjA2ZjcyMzA2NDNmMWE2Li44ZDdmNTA4YTEyMjk1NzE3OTA3ZGVmNDE0ZjJmMjY0
ZGYxMGMxOWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtNjEsNyArNjEsNiBAQCBs
aXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9LaWxsUmluZ05vbmUuY3Bw
CiAgICAgcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKICAgICBwbGF0Zm9ybS9TdGF0aWNQ
YXN0ZWJvYXJkLmNwcAotICAgIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKIAogICAgIHBsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZjYzQyMzk5
N2JjZDdhYmM0YmZmYzkzNDg3ZTExYzE0M2MyNGUzN2EuLjEzMzZmY2UzYThjYzQ1NmM2YTgxNGJm
MzMxMGZjYWNjYTMwZjRkMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3NDYsMTQgKzE3NDYsMTEgQEAKIAkJNDZCNjNGNkMx
QzZFOEQxOTAwMkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAv
KiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDZDODNFRkQxQTlCQkUyOTAwQTc5QTQxIC8qIEdlb05vdGlmaWVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Qzgz
RUZCMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5jcHAgKi87IH07CiAJCTQ2QzgzRUZF
MUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDODNFRkMxQTlCQkUyOTAwQTc5QTQxIC8qIEdlb05v
dGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJNDZEQjdENTcxQjIwRkU0NjAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlckNvY29hLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REI3RDU2MUIyMEZF
M0MwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAgKi87IH07CiAJCTQ2REJCNjUwMUFC
OEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRCQjY0RTFBQjhDOTZGMDBEOUE4MTMgLyogUG93
ZXJPYnNlcnZlck1hYy5oICovOyB9OwogCQk0NkRGRjQ5ODFEQzI2MDMxMDBCODBCNDggLyogU2hh
ZG93Um9vdE1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2REZGNDk2MURDMjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2REZGNDlCMURDMjYy
MEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REZGNDk5MURDMjYxRjkwMEI4MEI0OCAvKiBKU1No
YWRvd1Jvb3RNb2RlLmNwcCAqLzsgfTsKIAkJNDZERkY0OUMxREMyNjIwQjAwQjgwQjQ4IC8qIEpT
U2hhZG93Um9vdE1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2REZGNDlBMURDMjYxRjkwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggKi87
IH07CiAJCTQ2RUJFQTAyMUI3RDRENjUwMEJFNDk0MSAvKiBDb2xsZWN0aW9uVHJhdmVyc2FsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkVCRUEwMTFC
N0Q0RDVEMDBCRTQ5NDEgLyogQ29sbGVjdGlvblRyYXZlcnNhbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ2RjNFM0Y5MUIyMTA5MDAwMDg3RUQx
MyAvKiBWTm9kZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZEQjdENTgxQjIwRkU1ODAwNTY1MUIyIC8qIFZOb2RlVHJhY2tlci5jcHAg
Ki87IH07Ci0JCTQ2RjNFM0ZBMUIyMTA5MTAwMDg3RUQxMyAvKiBWTm9kZVRyYWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REI3RDU5MUIyMEZF
NTgwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkZDQjYxODFBNzA4MjBFMDBDNUEyMUUgLyogRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDkw
NzA3RTYxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5MDcwN0U0MTIxOUMwNDMwMEQ5
MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgKi87IH07CiAJCTQ5MDcwN0U3MTIxOUMwNDMw
MEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTUxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2Vi
S2l0QnJpZGdlLmggKi87IH07CkBAIC04OTM5LDkgKzg5MzYsNiBAQAogCQk0NkI2M0Y2QjFDNkU4
Q0RGMDAyRTkxNEIgLyogSlNFdmVudFRhcmdldEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ2QzgzRUZCMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW9Ob3RpZmllci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9O
b3RpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9Ob3RpZmllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NkRCN0Q1NjFCMjBGRTNDMDA1NjUxQjIg
LyogVk5vZGVUcmFja2VyQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVk5vZGVUcmFja2VyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0NkRCN0Q1ODFCMjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZOb2RlVHJhY2tlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTQ2REI3RDU5MUIyMEZFNTgwMDU2NTFCMiAvKiBWTm9kZVRyYWNr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVk5vZGVUcmFja2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REJCNjRFMUFCOEM5NkYwMEQ5QTgxMyAvKiBQ
b3dlck9ic2VydmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvd2Vy
T2JzZXJ2ZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERkY0OTYxREMy
NjAxMzAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNoYWRvd1Jvb3RNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2REZGNDk3MURDMjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdE1vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTk3OTgsNyArMTk3OTIsNiBAQAogCQkJCTdDQzU2NEI5MThCQUM3MjAwMDFCOTY1
MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3RvckNvY29hLmNwcCAqLywKIAkJCQkzMTBENzE5NDFC
MzM1QzlEMDA5QzdCNzMgLyogVGhlbWVDb2NvYS5oICovLAogCQkJCTMxMEQ3MTkzMUIzMzVDOUQw
MDlDN0I3MyAvKiBUaGVtZUNvY29hLm1tICovLAotCQkJCTQ2REI3RDU2MUIyMEZFM0MwMDU2NTFC
MiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAgKi8sCiAJCQkJQ0RDOTc5RjMxQzQ5OEMwOTAwREI1
MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLmggKi8sCiAJCQkJQ0RDOTc5RjIxQzQ5OEMwOTAw
REI1MEQ0IC8qIFdlYkNvcmVOU0Vycm9yRXh0cmFzLm1tICovLAogCQkJCTVERkVCQUI2MTg1OTJC
NkQwMEM3NUJFQiAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCAqLywKQEAgLTIyNjcxLDggKzIyNjY0
LDYgQEAKIAkJCQkyRTNCQkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLAogCQkJCTgz
QzQ1QjhEMURDMkI2N0MwMDg4NzFCQSAvKiBWYWxpZGF0aW9uQnViYmxlLmggKi8sCiAJCQkJOUEx
MTQyMDMxODMyRDEzNDAwMEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcuaCAqLywKLQkJCQk0NkRCN0Q1
ODFCMjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyLmNwcCAqLywKLQkJCQk0NkRCN0Q1OTFC
MjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFja2VyLmggKi8sCiAJCQkJNTE1Rjc5NTExQ0ZDQTND
NzAwQ0NFRDkzIC8qIFdlYkNvcmVDcm9zc1RocmVhZENvcGllci5jcHAgKi8sCiAJCQkJNTE1Rjc5
NTIxQ0ZDQTNDNzAwQ0NFRDkzIC8qIFdlYkNvcmVDcm9zc1RocmVhZENvcGllci5oICovLAogCQkJ
CTkzODBGNDcxMDlBMTFBQjQwMDFGREIzNCAvKiBXaWRnZXQuY3BwICovLApAQCAtMjgxODQsNyAr
MjgxNzUsNiBAQAogCQkJCTkzMzA5RTFFMDk5RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxlVW5pdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxOUJDMkRGMTY4NTMyOTkwMEQ2NEQ2RCAvKiBWaXNpdGVk
TGlua1N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUJBODAwMDE4OTczNDEyMDBEQ0U5RDYg
LyogVmlzaXRlZExpbmtTdG9yZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDZGM0UzRkExQjIxMDkx
MDAwODdFRDEzIC8qIFZOb2RlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjYw
Q0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkUy
MDUwN0ExOEE0NTg2QjAwODA2NDdFIC8qIFZUVEN1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FG
OUIyMDMxOENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MTY4Miw4ICszMTY3Miw2IEBACiAJCQkJOTMzMDlFMUQwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2li
bGVVbml0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTlCQzJERTE2ODUzMjk5MDBENjRENkQg
LyogVmlzaXRlZExpbmtTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUY0Q0VFQzE4QkMz
QzFCMDBCQzJEMzQgLyogVmlzaXRlZExpbmtTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0
NkYzRTNGOTFCMjEwOTAwMDA4N0VEMTMgLyogVk5vZGVUcmFja2VyLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTQ2REI3RDU3MUIyMEZFNDYwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCRTIwNTA3OTE4QTQ1ODY4MDA4MDY0N0UgLyogVlRUQ3VlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdBRjlCMjAyMThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FGOUIyMDUxOENGQjJERjAwQzY0QkVGIC8qIFZU
VFJlZ2lvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZEJ1ZmZlci5oCmluZGV4IGNkYzIxYmMwNTY2MTEzNTc0OGVhMzAxNDM5YmUwZDMwMThiMjIyYTUu
LmFmOTQwNjhhNmUyZTliNDE4ZTEyODlmODdhZmNkZWI4MWU1MDQxOTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBVU0UoQ0YpCi0jaW5jbHVkZSAiVk5vZGVUcmFja2Vy
LmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTE3Miw3ICsxNzEs
NiBAQCBwcml2YXRlOgogI2lmIFVTRShDRikKICAgICBleHBsaWNpdCBTaGFyZWRCdWZmZXIoQ0ZE
YXRhUmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBtX2NmRGF0YTsKLSAgICBWTm9kZVRy
YWNrZXI6OlRva2VuIG1fdm5vZGVUb2tlbjsKICNlbmRpZgogCiAjaWYgVVNFKFNPVVApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDRmY2Y5NjFlMDE5MTQ0YTIxZmY0ZDNkYzBlMThmOWZjOTI4ZTFhNy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWTm9kZVRyYWNrZXIu
aCIKLQotI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1WTm9kZVRyYWNrZXImIFZOb2RlVHJhY2tlcjo6
c2luZ2xldG9uKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Vk5vZGVUcmFja2VyPiB2
bm9kZVRyYWNrZXI7Ci0gICAgcmV0dXJuIHZub2RlVHJhY2tlcjsKLX0KLQotVk5vZGVUcmFja2Vy
OjpWTm9kZVRyYWNrZXIoKQotICAgIDogbV92bm9kZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJF
dmVudCBldmVudCkgeyBpZiAoZXZlbnQgPT0gUmVmQ291bnRlckV2ZW50OjpJbmNyZW1lbnQpIGNo
ZWNrUHJlc3N1cmVTdGF0ZSgpOyB9KQotICAgICwgbV9wcmVzc3VyZVdhcm5pbmdUaW1lcigqdGhp
cywgJlZOb2RlVHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCkKLSAgICAsIG1fbGFz
dFdhcm5pbmdUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpKQotewotICAgIHBs
YXRmb3JtSW5pdGlhbGl6ZSgpOwotCi0gICAgTE9HKE1lbW9yeVByZXNzdXJlLCAiVXNpbmcgZm9s
bG93aW5nIHZub2RlIGxpbWl0cyBmb3IgdGhpcyBwcm9jZXNzOiBzb2Z0PSV1LCBoYXJkPSV1Iiwg
bV9zb2Z0Vk5vZGVMaW1pdCwgbV9oYXJkVk5vZGVMaW1pdCk7Ci19Ci0KLXZvaWQgVk5vZGVUcmFj
a2VyOjpjaGVja1ByZXNzdXJlU3RhdGUoKQotewotICAgIEFTU0VSVChtX3ByZXNzdXJlSGFuZGxl
cik7Ci0KLSAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fcHJlc3N1cmVXYXJuaW5nVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9wcmVzc3VyZVdhcm5pbmdUaW1lci5zdGFydE9uZVNob3QobmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkpOwotfQotCi12b2lkIFZOb2RlVHJhY2tlcjo6cHJl
c3N1cmVXYXJuaW5nVGltZXJGaXJlZCgpCi17Ci0gICAgaWYgKG1fdm5vZGVDb3VudGVyLnZhbHVl
KCkgPD0gbV9zb2Z0Vk5vZGVMaW1pdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9sYXN0V2Fy
bmluZ1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKLSAgICB1bnNpZ25l
ZCB2bm9kZUNvdW50ID0gbV92bm9kZUNvdW50ZXIudmFsdWUoKTsKLSAgICBhdXRvIGNyaXRpY2Fs
ID0gdm5vZGVDb3VudCA+IG1faGFyZFZOb2RlTGltaXQgPyBDcml0aWNhbDo6WWVzIDogQ3JpdGlj
YWw6Ok5vOwotICAgIG1fcHJlc3N1cmVIYW5kbGVyKGNyaXRpY2FsKTsKLSAgICBMT0coTWVtb3J5
UHJlc3N1cmUsICJ2bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGZyZWVkICVsdSB2bm9kZXMgb3V0IG9m
ICV1IChjcml0aWNhbCBwcmVzc3VyZTogJXMpIiwgdm5vZGVDb3VudCAtIG1fdm5vZGVDb3VudGVy
LnZhbHVlKCksIHZub2RlQ291bnQsIGNyaXRpY2FsID09IENyaXRpY2FsOjpZZXMgPyAiWWVzIiA6
ICJObyIpOwotfQotCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKLXsKLSAgICAvLyBXZSBydW4gdGhlIHZu
b2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRp
YyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25k
cyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7Ci0gICAgaWYgKHRpbWVTaW5j
ZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0dXJuIHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KG1pbmlt
dW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0dXJuIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07Ci19Ci0KLSNpZiAhUExBVEZPUk0oQ09DT0Ep
Ci0KLXZvaWQgVk5vZGVUcmFja2VyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQotewotfQotCi0jZW5k
aWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRy
YWNrZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIwMTEwZTgzZTdhMTZkYTk2
NDgwMTMwODVhYmZlMTgyNjBmNGEyNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
L2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFZOb2RlVHJh
Y2tlcl9oCi0jZGVmaW5lIFZOb2RlVHJhY2tlcl9oCi0KLSNpbmNsdWRlICJNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuaCIKLSNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPGNocm9ubz4KLSNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVyLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgVk5vZGVUcmFja2VyIHsKLSAgICBmcmllbmQgY2xhc3Mg
V1RGOjpOZXZlckRlc3Ryb3llZDxWTm9kZVRyYWNrZXI+OwotcHVibGljOgotICAgIHVzaW5nIFBy
ZXNzdXJlSGFuZGxlciA9IHN0ZDo6ZnVuY3Rpb248dm9pZChDcml0aWNhbCk+OwotCi0gICAgZW51
bSBWTm9kZUNvdW50ZXJUeXBlIHsgfTsKLSAgICB1c2luZyBWTm9kZUNvdW50ZXIgPSBSZWZDb3Vu
dGVyPFZOb2RlQ291bnRlclR5cGU+OwotICAgIHVzaW5nIFRva2VuID0gVk5vZGVDb3VudGVyOjpU
b2tlbjsKLQotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBWTm9kZVRyYWNrZXImIHNpbmdsZXRv
bigpOwotCi0gICAgdm9pZCBzZXRQcmVzc3VyZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyKTsKLSAg
ICBUb2tlbiB0b2tlbigpOwotCi1wcml2YXRlOgotICAgIFZOb2RlVHJhY2tlcigpOwotCi0gICAg
dm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKLSAgICB2b2lkIHByZXNzdXJlV2FybmluZ1RpbWVy
RmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5p
bmdJbnRlcnZhbCgpIGNvbnN0OwotCi0gICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKLQot
ICAgIHVuc2lnbmVkIG1faGFyZFZOb2RlTGltaXQgeyA0MDAgfTsKLSAgICB1bnNpZ25lZCBtX3Nv
ZnRWTm9kZUxpbWl0IHsgMzAwIH07Ci0gICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVIYW5k
bGVyOwotICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKLSAgICBUaW1lciBtX3ByZXNz
dXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQgbV9sYXN0V2FybmluZ1RpbWU7Ci19OwotCi1pbmxpbmUgdm9pZCBWTm9kZVRyYWNrZXI6OnNl
dFByZXNzdXJlSGFuZGxlcihQcmVzc3VyZUhhbmRsZXIgaGFuZGxlcikKLXsKLSAgICBtX3ByZXNz
dXJlSGFuZGxlciA9IGhhbmRsZXI7Ci19Ci0KLWlubGluZSBhdXRvIFZOb2RlVHJhY2tlcjo6dG9r
ZW4oKSAtPiBUb2tlbgotewotICAgIHJldHVybiBtX3ByZXNzdXJlSGFuZGxlciA/IG1fdm5vZGVD
b3VudGVyLmNvdW50KCkgOiBUb2tlbigpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBWTm9kZVRyYWNrZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Yv
U2hhcmVkQnVmZmVyQ0YuY3BwCmluZGV4IDJjODlmYzU4MGU1MDQ4OTU4ZjEyYmQzNWFkZmZiMDBk
MjA0NGM4YTEuLjgzZWEzM2IzNTlhNjZlMGZkYTY0OWJmNDk4NGZjZDhhODc0MmJkZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKQEAgLTM2LDcg
KzM2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU2hhcmVkQnVmZmVyOjpTaGFyZWRCdWZmZXIo
Q0ZEYXRhUmVmIGNmRGF0YSkKICAgICA6IG1fYnVmZmVyKGFkb3B0UmVmKCpuZXcgRGF0YUJ1ZmZl
cikpCiAgICAgLCBtX2NmRGF0YShjZkRhdGEpCi0gICAgLCBtX3Zub2RlVG9rZW4oVk5vZGVUcmFj
a2VyOjpzaW5nbGV0b24oKS50b2tlbigpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9WTm9kZVRyYWNrZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9WTm9kZVRyYWNrZXJDb2NvYS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGFiMGUyZTBhNzMxZjNmMWU2NTVhZDFkYmUyNDIyZGJjYjFiZjM2ZDkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvVk5vZGVUcmFja2VyQ29jb2EuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWTm9kZVRyYWNrZXIuaCIKLQotI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8c3lzL3N5
c2N0bC5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXZvaWQgVk5vZGVUcmFja2VyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQotewotICAgIHVuc2lnbmVk
IHN5c3RlbU1heFZOb2RlcyA9IDA7Ci0gICAgc2l6ZV90IGxlbiA9IHNpemVvZihzeXN0ZW1NYXhW
Tm9kZXMpOwotCi0gICAgLy8gUXVlcnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZub2RlcyBvbiB0
aGUgc3lzdGVtIGFuZCB1c2UgMTUlIG9mIHRoYXQgdmFsdWUgYXMgc29mdCBsaW1pdCBmb3IgdGhp
cyBwcm9jZXNzLAotICAgIC8vIGFuZCAyMCUgb2YgdGhhdCB2YWx1ZSBhcyBoYXJkIGxpbWl0Lgot
ICAgIGlmIChzeXNjdGxieW5hbWUoImtlcm4ubWF4dm5vZGVzIiwgJnN5c3RlbU1heFZOb2Rlcywg
JmxlbiwgbnVsbHB0ciwgMCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIExPRyhNZW1vcnlQcmVz
c3VyZSwgIlN5c3RlbSB2bm9kZSBsaW1pdCBpcyAldSIsIHN5c3RlbU1heFZOb2Rlcyk7Ci0KLSAg
ICBtX3NvZnRWTm9kZUxpbWl0ID0gc3RkOjptYXgobV9zb2Z0Vk5vZGVMaW1pdCwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHN5c3RlbU1heFZOb2RlcyAqIDAuMTUpKTsKLSAgICBtX2hhcmRWTm9kZUxp
bWl0ID0gc3RkOjptYXgobV9oYXJkVk5vZGVMaW1pdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN5
c3RlbU1heFZOb2RlcyAqIDAuMikpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmlu
ZGV4IGQ0ZDYxYzE1MjEwOWQ2OGQzM2FlMjQ1YzA3ZDUyMTk1YTJkNWZlYjIuLjRjMTUwMmM0ZjM4
MWZlZWU2YjE4MGYzYTUxODM2ODM5MmZlYWE1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC01Myw3ICs1Myw2IEBACiAj
aW1wb3J0IDxXZWJDb3JlL05TQWNjZXNzaWJpbGl0eVNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1ZOb2RlVHJhY2tlci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9XZWJDb3JlTlNVUkxFeHRyYXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvcHRocmVhZFNQSS5o
PgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CkBAIC0xMjQsMTUgKzEyMyw2IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyCiAgICAgV2ViQ29yZTo6cmVnaXN0ZXJNZW1vcnlSZWxl
YXNlTm90aWZ5Q2FsbGJhY2tzKCk7CiAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpSZWxpZWZM
b2dnZXI6OnNldExvZ2dpbmdFbmFibGVkKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTWVtb3J5UHJl
c3N1cmVSZWxpZWZMb2dnaW5nKTsKIAotI2lmIFBMQVRGT1JNKElPUykKLSAgICAvLyBUcmFjayB0
aGUgbnVtYmVyIG9mIHZub2RlcyB3ZSBhcmUgdXNpbmcgb24gaU9TIGFuZCBtYWtlIHN1cmUgd2Ug
b25seSB1c2UgYQotICAgIC8vIHJlYXNvbmFibGUgYW1vdW50IGJlY2F1c2UgbGltaXRzIGFyZSBm
YWlybHkgbG93IG9uIGlPUyBkZXZpY2VzIGFuZCB3ZSBjYW4KLSAgICAvLyBnZXQga2lsbGVkIHdo
ZW4gcmVhY2hpbmcgdGhlIGxpbWl0LgotICAgIFZOb2RlVHJhY2tlcjo6c2luZ2xldG9uKCkuc2V0
UHJlc3N1cmVIYW5kbGVyKFtdIChDcml0aWNhbCBjcml0aWNhbCkgewotICAgICAgICBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLnJlbGVhc2VNZW1vcnkoY3JpdGljYWwpOwotICAg
IH0pOwotI2VuZGlmCi0KICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkocGFyYW1ldGVycy5h
Y2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCk7CiAKICNpZiBVU0UoQVBQ
S0lUKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>