<?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>191899</bug_id>
          
          <creation_ts>2018-11-21 17:50:00 -0800</creation_ts>
          <short_desc>[Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function</short_desc>
          <delta_ts>2018-11-24 10:38:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=191875</see_also>
          <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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1480863</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-21 17:50:00 -0800</bug_when>
    <thetext>[Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480866</commentid>
    <comment_count>1</comment_count>
      <attachid>355448</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-21 17:55:33 -0800</bug_when>
    <thetext>Created attachment 355448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480893</commentid>
    <comment_count>2</comment_count>
      <attachid>355457</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-21 19:40:09 -0800</bug_when>
    <thetext>Created attachment 355457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480899</commentid>
    <comment_count>3</comment_count>
      <attachid>355459</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-21 20:06:31 -0800</bug_when>
    <thetext>Created attachment 355459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481147</commentid>
    <comment_count>4</comment_count>
      <attachid>355459</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-11-23 09:44:29 -0800</bug_when>
    <thetext>Comment on attachment 355459
Patch

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

&gt; Source/WTF/ChangeLog:15
&gt; +        a getter named namesapce::getNSViewClass().

Typo: namespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481305</commentid>
    <comment_count>5</comment_count>
      <attachid>355565</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-11-24 09:59:30 -0800</bug_when>
    <thetext>Created attachment 355565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481310</commentid>
    <comment_count>6</comment_count>
      <attachid>355565</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-24 10:37:23 -0800</bug_when>
    <thetext>Comment on attachment 355565
Patch

Clearing flags on attachment: 355565

Committed r238470: &lt;https://trac.webkit.org/changeset/238470&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481311</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-24 10:37:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481312</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-24 10:38:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/46228446&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355448</attachid>
            <date>2018-11-21 17:55:33 -0800</date>
            <delta_ts>2018-11-21 19:40:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191899-20181121175530.patch</filename>
            <type>text/plain</type>
            <size>11695</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQxMWQ5ZGVmOGIxMzhiNzExMTYwMWFh
YmVjYTM1OGQ4MTAxMDJhNzcuLmJhNzg4N2EyMmFmYmVkZDZhMTc1ZmU2ZTQ5YjZlNDJkNmU1ZTVl
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVS
LFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5
LCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUiBkZWNsYXJlcyBhIGNsYXNzIGdldHRlciBmdW5j
dGlvbiB0aGF0IGluY2xkZXMgdGhlCisgICAgICAgIGZyYW1ld29yayBuYW1lLiBGb3IgZXhhbXBs
ZSwgTlNWaWV3IHdvdWxkIGhhdmUgYSBjbGFzcyBnZXR0ZXIgbmFtZWQKKyAgICAgICAgbmFtZXNw
YWNlOjpnZXRfQXBwS2l0X05TVmlld0NsYXNzKCkuCisKKyAgICAgICAgSW5jbHVkaW5nIHRoZSBm
cmFtZXdvcmsgbmFtZSBpbiB0aGUgZ2V0dGVyIGlzIHVubmVjZXNzYXJ5LiBPYmplY3RpdmUtQyBj
bGFzc2VzIGV4aXN0IGluIGEKKyAgICAgICAgZ2xvYmFsIG5hbWVzcGFjZSwgdGhlcmUgaXMgbm8g
bmVlZCB0byBkaXNhbWJpZ3VhdGUgY2xhc3MgbmFtZXMgYnkgZnJhbWV3b3JrLiBUaGlzIHBhdGNo
CisgICAgICAgIGVsaWRlcyB0aGUgZnJhbWV3b3JrIG5hbWUgZnJvbSB0aGUgZ2V0dGVyIGZ1bmN0
aW9uLiBGb3IgZXhhbXBsZSwgTlNWaWV3IHdvdWxkIG5vdyBoYXZlIGEKKyAgICAgICAgZ2V0dGVy
IG5hbWVkIG5hbWVzYXBjZTo6Z2V0TlNWaWV3Q2xhc3MoKS4KKworICAgICAgICAqIHd0Zi9jb2Nv
YS9Tb2Z0TGlua2luZy5oOgorCiAyMDE4LTExLTE0ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXggI2VuZCB2cy4gI2VuZGlmIHR5cG8uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMGY3NGY3YTE5YTk0MjFjZjZjZTMzM2MxZjA2N2ZhNmFlZWU0ZThiNy4uNjIyMTUyYWNjODAw
ZmY2YWUxYzNlODRiZTA5Y2FmMDc0MWE1YzIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIFNPRlRfTElOS19DTEFTU19GT1Jfe0hFQURFUixTT1VSQ0V9IHNob3VsZCBnZW5lcmF0
ZSBhIG1vcmUgY29uY2lzZSBnZXR0ZXIgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1t
OgorICAgICAgICAoV2ViQ29yZTo6RGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2Up
OgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRMaXN0OjpjcmVhdGVUZXh0TGlzdCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFyeSBjb25zdCk6CisgICAgICAg
ICogZWRpdGluZy9jb2NvYS9Gb250U2hhZG93Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpG
b250U2hhZG93OjpjcmVhdGVTaGFkb3cgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29h
L0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Db2xvckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1Db2xvcik6
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6c2NyZWVuU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjphdmFpbGFibGVTY3JlZW5T
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlblNjYWxlRmFjdG9yKToKKwogMjAxOC0xMS0y
MCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZpbmcgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmUgZnJvbSBXZWJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
MGVkZWU1YzNhYzhkZTI4NTA2NDUxNzY1ZTIwMTUwYmFlOGMzODlmNy4uYWI2YTcyMWEwYzBiNzkw
NzI3ZTA5Yzc0MzUxODdlMWVlNjg4NzllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVSLFNPVVJDRX0gc2hvdWxkIGdl
bmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvaW9zL1VJS2l0U29mdExpbmsuaDoK
KwogMjAxOC0xMS0xNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbaU9TXSBSZW1vdmUgYWxsIHVzYWdlcyBvZiBVSUl0ZW1Qcm92aWRlciwgVUlJdGVt
UHJvdmlkZXJSZWFkaW5nLCBhbmQgcmVsYXRlZCBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvU29mdExp
bmtpbmcuaAppbmRleCA2YWVlZGFlNGE2NjMzNDU3NjA2YmE3ZTFjYmVmZmY1ZWE2M2MwODJmLi4x
ODkxOTY1Mzg0NzU5ODBhZmU2ODBmZWU1OTZiYTc0ZTFhNTcyNThlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29h
L1NvZnRMaW5raW5nLmgKQEAgLTM3MiwxNCArMzcyLDE0IEBACiAgICAgfSBcCiAgICAgfQogCi0j
ZGVmaW5lIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKGZ1bmN0aW9uTmFtZXNwYWNlLCBmcmFt
ZXdvcmssIGNsYXNzTmFtZSkgXAorI2RlZmluZSBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihm
dW5jdGlvbk5hbWVzcGFjZSwgY2xhc3NOYW1lKSBcCiAgICAgQGNsYXNzIGNsYXNzTmFtZTsgXAog
ICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwKLSAgICBleHRlcm4gQ2xhc3MgKCpn
ZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MpKCk7IFwKKyAgICBleHRlcm4gQ2xh
c3MgKCpnZXQjI2NsYXNzTmFtZSMjQ2xhc3MpKCk7IFwKICAgICBjbGFzc05hbWUgKmFsbG9jIyNj
bGFzc05hbWUjI0luc3RhbmNlKCk7IFwKICAgICBpbmxpbmUgY2xhc3NOYW1lICphbGxvYyMjY2xh
c3NOYW1lIyNJbnN0YW5jZSgpIFwKICAgICB7IFwKLSAgICAgICAgcmV0dXJuIFtnZXRfIyNmcmFt
ZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MoKSBhbGxvY107IFwKKyAgICAgICAgcmV0dXJuIFtn
ZXQjI2NsYXNzTmFtZSMjQ2xhc3MoKSBhbGxvY107IFwKICAgICB9IFwKICAgICB9CiAKQEAgLTM4
Nyw3ICszODcsNyBAQAogICAgIEBjbGFzcyBjbGFzc05hbWU7IFwKICAgICBuYW1lc3BhY2UgZnVu
Y3Rpb25OYW1lc3BhY2UgeyBcCiAgICAgc3RhdGljIENsYXNzIGluaXQjI2NsYXNzTmFtZSgpOyBc
Ci0gICAgQ2xhc3MgKCpnZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MpKCkgPSBp
bml0IyNjbGFzc05hbWU7IFwKKyAgICBDbGFzcyAoKmdldCMjY2xhc3NOYW1lIyNDbGFzcykoKSA9
IGluaXQjI2NsYXNzTmFtZTsgXAogICAgIHN0YXRpYyBDbGFzcyBjbGFzcyMjY2xhc3NOYW1lOyBc
CiAgICAgXAogICAgIHN0YXRpYyBDbGFzcyBjbGFzc05hbWUjI0Z1bmN0aW9uKCkgXApAQCAtNDAy
LDcgKzQwMiw3IEBACiAgICAgICAgICAgICBmcmFtZXdvcmsjI0xpYnJhcnkoKTsgXAogICAgICAg
ICAgICAgY2xhc3MjI2NsYXNzTmFtZSA9IG9iamNfZ2V0Q2xhc3MoI2NsYXNzTmFtZSk7IFwKICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzIyNjbGFzc05hbWUpOyBcCi0gICAgICAgICAg
ICBnZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MgPSBjbGFzc05hbWUjI0Z1bmN0
aW9uOyBcCisgICAgICAgICAgICBnZXQjI2NsYXNzTmFtZSMjQ2xhc3MgPSBjbGFzc05hbWUjI0Z1
bmN0aW9uOyBcCiAgICAgICAgIH0pOyBcCiAgICAgICAgIHJldHVybiBjbGFzcyMjY2xhc3NOYW1l
OyBcCiAgICAgfSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9VSUtp
dFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmgK
aW5kZXggNmFmMGJjZDFjM2NjMWNjMzBhYTNiOGRhNjVhNDY0ODVhZTVjOTk2YS4uNTUyMTk0NGNl
ZDAzMWQ5MWIwOTdhZmM5ZjkyMmY1MTQ3ZjgzYzg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9pb3MvVUlLaXRTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvaW9zL1VJS2l0U29mdExpbmsuaApAQCAtMzIsMTIgKzMyLDEyIEBACiAKIFNPRlRfTElOS19G
UkFNRVdPUktfRk9SX0hFQURFUihQQUwsIFVJS2l0KQogCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hF
QURFUihQQUwsIFVJS2l0LCBOU1BhcmFncmFwaFN0eWxlKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBVSUtpdCwgTlNTaGFkb3cpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQ
QUwsIFVJS2l0LCBOU1RleHRMaXN0KQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBV
SUtpdCwgVUlBcHBsaWNhdGlvbikKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlL
aXQsIFVJU2NyZWVuKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlD
b2xvcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgTlNQYXJhZ3JhcGhTdHlsZSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgTlNTaGFkb3cpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIE5TVGV4dExpc3QpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURF
UihQQUwsIFVJQXBwbGljYXRpb24pCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJ
U2NyZWVuKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUNvbG9yKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlBY2Nlc3NpYmlsaXR5SXNHcmF5
c2NhbGVFbmFibGVkLCBCT09MLCAodm9pZCksICgpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBVSUtpdCwgVUlBY2Nlc3NpYmlsaXR5SXNJbnZlcnRDb2xvcnNFbmFibGVkLCBC
T09MLCAodm9pZCksICgpKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL0RhdGFEZXRlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFE
ZXRlY3Rpb24ubW0KaW5kZXggYzk5OWRkNzE2Nzk2NGUzMWE2N2JhNGU2ODA5OWZiYWM1MGM1N2Ji
Yy4uMTAxY2NiOWIxODNiZTliNzE1ZDVjNWQ3YjkyM2JhY2YxOGJlM2E3MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQpAQCAtNjQzLDcgKzY0Myw3
IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKFJlZlB0cjxS
YW5nZT4mIGNvbnRleHRSYW5nZSwgRGF0YURlCiAgICAgaWYgKGxhc3RUZXh0Tm9kZVRvVXBkYXRl
KQogICAgICAgICBsYXN0VGV4dE5vZGVUb1VwZGF0ZS0+c2V0RGF0YShsYXN0Tm9kZUNvbnRlbnQp
OwogICAgIAotICAgIHJldHVybiBbZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lclJlc3Vs
dENsYXNzKCkgcmVzdWx0c0Zyb21Db3JlUmVzdWx0czpzY2FubmVyUmVzdWx0cy5nZXQoKV07Cisg
ICAgcmV0dXJuIFtnZXRERFNjYW5uZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNGcm9tQ29yZVJlc3Vs
dHM6c2Nhbm5lclJlc3VsdHMuZ2V0KCldOwogfQogCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCmluZGV4IDRiYzQ1OGJm
MDIyZjU5MjdlNGQ1NzYzNWIxNWFhZDBhNTJkZDM5NjMuLmY2ZjkyYTRjOWQ0Zjk2YmFkODM5N2Zh
MjNmYmQ1MjBlZGYyOTMwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KQEAgLTc2LDcgKzc2LDcgQEAgUmV0YWluUHRyPE5T
VGV4dExpc3Q+IFRleHRMaXN0OjpjcmVhdGVUZXh0TGlzdCgpIGNvbnN0CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIENsYXNzIHRleHRMaXN0Q2xhc3MgPSBOU1RleHRMaXN0LmNsYXNzOwogI2Vsc2UK
LSAgICBDbGFzcyB0ZXh0TGlzdENsYXNzID0gUEFMOjpnZXRfVUlLaXRfTlNUZXh0TGlzdENsYXNz
KCk7CisgICAgQ2xhc3MgdGV4dExpc3RDbGFzcyA9IFBBTDo6Z2V0TlNUZXh0TGlzdENsYXNzKCk7
CiAjZW5kaWYKICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0TlMoW1t0ZXh0TGlzdENsYXNzIGFsbG9j
XSBpbml0V2l0aE1hcmtlckZvcm1hdDpjb2NvYVRleHRMaXN0TWFya2VyTmFtZShzdHlsZSwgb3Jk
ZXJlZCkgb3B0aW9uczowXSk7CiAgICAgW3Jlc3VsdCBzZXRTdGFydGluZ0l0ZW1OdW1iZXI6c3Rh
cnRpbmdJdGVtTnVtYmVyXTsKQEAgLTEwNiw3ICsxMDYsNyBAQCBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBGb250QXR0cmlidXRlczo6Y3JlYXRlRGljdGlvbmFyeSgpIGNvbnN0CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIENsYXNzIHBhcmFncmFwaFN0eWxlQ2xhc3MgPSBOU1BhcmFncmFwaFN0eWxl
LmNsYXNzOwogI2Vsc2UKLSAgICBDbGFzcyBwYXJhZ3JhcGhTdHlsZUNsYXNzID0gUEFMOjpnZXRf
VUlLaXRfTlNQYXJhZ3JhcGhTdHlsZUNsYXNzKCk7CisgICAgQ2xhc3MgcGFyYWdyYXBoU3R5bGVD
bGFzcyA9IFBBTDo6Z2V0TlNQYXJhZ3JhcGhTdHlsZUNsYXNzKCk7CiAjZW5kaWYKICAgICBhdXRv
IHN0eWxlID0gYWRvcHROUyhbW3BhcmFncmFwaFN0eWxlQ2xhc3MgZGVmYXVsdFBhcmFncmFwaFN0
eWxlXSBtdXRhYmxlQ29weV0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0ZvbnRTaGFkb3dDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2Ev
Rm9udFNoYWRvd0NvY29hLm1tCmluZGV4IDFmNGYwNzdiZmI2MjdhMTdlMzZiYmU5YTEzZTdlYTIw
YzIyNjZhNjIuLjA0NThkMDYxNDZkYjUwZDgyNjA5ZWY0OGUyMjExZTJhM2M5N2YxNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udFNoYWRvd0NvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udFNoYWRvd0NvY29hLm1tCkBAIC00
MCw3ICs0MCw3IEBAIFJldGFpblB0cjxOU1NoYWRvdz4gRm9udFNoYWRvdzo6Y3JlYXRlU2hhZG93
KCkgY29uc3QKICNpZiBVU0UoQVBQS0lUKQogICAgIGF1dG8gc2hhZG93ID0gYWRvcHROUyhbTlNT
aGFkb3cgbmV3XSk7CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGF1dG8gc2hhZG93
ID0gYWRvcHROUyhbUEFMOjpnZXRfVUlLaXRfTlNTaGFkb3dDbGFzcygpIG5ld10pOworICAgIGF1
dG8gc2hhZG93ID0gYWRvcHROUyhbUEFMOjpnZXROU1NoYWRvd0NsYXNzKCkgbmV3XSk7CiAjZW5k
aWYKICAgICBbc2hhZG93IHNldFNoYWRvd0NvbG9yOnBsYXRmb3JtQ29sb3IoY29sb3IpXTsKICAg
ICBbc2hhZG93IHNldFNoYWRvd09mZnNldDpvZmZzZXRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oCmluZGV4
IGUwODY2ZWZkYWJjMGUwN2ZlMGM2Njg2NWFlZDhkZGY3ZGNjODE4NDQuLjc3OWZhYzViMDE0M2Uz
MzIzOWYzMGIyYTZjODRmMjM1MjMwMTIwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgKQEAgLTMyLDcg
KzMyLDcgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKLVNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJSZXN1bHQpCitT
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJDb3JlLCBERFNjYW5uZXJSZXN1bHQpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChERFNjYW5uZXJUeXBlIHR5cGUsIEREU2Nhbm5l
ck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiAqIGVycm9yUmVmKSwgKHR5cGUsIG9wdGlvbnMs
IGVycm9yUmVmKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJTY2FuUXVlcnksIEJvb2xlYW4sIChERFNjYW5uZXJSZWYg
c2Nhbm5lciwgRERTY2FuUXVlcnlSZWYgcXVlcnkpLCAoc2Nhbm5lciwgcXVlcnkpKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nh
blF1ZXJ5Q3JlYXRlLCBERFNjYW5RdWVyeVJlZiwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciks
IChhbGxvY2F0b3IpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvQ29sb3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0NvbG9yQ29jb2EubW0KaW5kZXggZmYyNjkyY2QyOWQxMTAxMTZkZGRmYjNhMjNmMmRi
MTExYTNiNTkyYS4uOTU3NzcwMTA2MGQ0ODIwMDEzNDQyMWZhMGY4NmEwMGQzY2I2OGU1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Db2xvckNv
Y29hLm1tCkBAIC00OCw3ICs0OCw3IEBAIE5TQ29sb3IgKnBsYXRmb3JtQ29sb3IoY29uc3QgQ29s
b3ImIGNvbG9yKQogCiBVSUNvbG9yICpwbGF0Zm9ybUNvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikK
IHsKLSAgICByZXR1cm4gW1BBTDo6Z2V0X1VJS2l0X1VJQ29sb3JDbGFzcygpIF9kaXNhbWJpZ3Vh
dGVkX2R1ZV90b19DSUltYWdlX2NvbG9yV2l0aENHQ29sb3I6Y2FjaGVkQ0dDb2xvcihjb2xvcild
OworICAgIHJldHVybiBbUEFMOjpnZXRVSUNvbG9yQ2xhc3MoKSBfZGlzYW1iaWd1YXRlZF9kdWVf
dG9fQ0lJbWFnZV9jb2xvcldpdGhDR0NvbG9yOmNhY2hlZENHQ29sb3IoY29sb3IpXTsKIH0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1T
Y3JlZW5JT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0KaW5kZXggOWQyZWJkNDk0YjdjYTgyZjJkZmFjNGI5NzA2ODNjZjI3NjE4ZGM2Zi4uNDFh
ZGMyYThmYTMyODUwZjVmNDdmYzIzZjlhMjU0ODY3NTM3MjNlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQpAQCAtMTI5LDE2ICsxMjks
MTYgQEAgZmxvYXQgc2NyZWVuUFBJRmFjdG9yKCkKIAogRmxvYXRTaXplIHNjcmVlblNpemUoKQog
ewotICAgIGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJpbGl0eSgpICYmIFtbUEFMOjpnZXRfVUlLaXRf
VUlBcHBsaWNhdGlvbkNsYXNzKCkgc2hhcmVkQXBwbGljYXRpb25dIF9pc0NsYXNzaWNdKQorICAg
IGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJpbGl0eSgpICYmIFtbUEFMOjpnZXRVSUFwcGxpY2F0aW9u
Q2xhc3MoKSBzaGFyZWRBcHBsaWNhdGlvbl0gX2lzQ2xhc3NpY10pCiAgICAgICAgIHJldHVybiB7
IDMyMCwgNDgwIH07Ci0gICAgcmV0dXJuIEZsb2F0U2l6ZShbW1BBTDo6Z2V0X1VJS2l0X1VJU2Ny
ZWVuQ2xhc3MoKSBtYWluU2NyZWVuXSBfcmVmZXJlbmNlQm91bmRzXS5zaXplKTsKKyAgICByZXR1
cm4gRmxvYXRTaXplKFtbUEFMOjpnZXRVSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVlbl0gX3JlZmVy
ZW5jZUJvdW5kc10uc2l6ZSk7CiB9CiAKIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplKCkK
IHsKLSAgICBpZiAoZGV2aWNlSGFzSVBhZENhcGFiaWxpdHkoKSAmJiBbW1BBTDo6Z2V0X1VJS2l0
X1VJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFwcGxpY2F0aW9uXSBfaXNDbGFzc2ljXSkKKyAg
ICBpZiAoZGV2aWNlSGFzSVBhZENhcGFiaWxpdHkoKSAmJiBbW1BBTDo6Z2V0VUlBcHBsaWNhdGlv
bkNsYXNzKCkgc2hhcmVkQXBwbGljYXRpb25dIF9pc0NsYXNzaWNdKQogICAgICAgICByZXR1cm4g
eyAzMjAsIDQ4MCB9OwotICAgIHJldHVybiBGbG9hdFNpemUoW1BBTDo6Z2V0X1VJS2l0X1VJU2Ny
ZWVuQ2xhc3MoKSBtYWluU2NyZWVuXS5ib3VuZHMuc2l6ZSk7CisgICAgcmV0dXJuIEZsb2F0U2l6
ZShbUEFMOjpnZXRVSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVlbl0uYm91bmRzLnNpemUpOwogfQog
CiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRk
aXRpb25zL1BsYXRmb3JtU2NyZWVuSU9TLm1tPikKQEAgLTE1Myw3ICsxNTMsNyBAQCBGbG9hdFNp
emUgb3ZlcnJpZGVTY3JlZW5TaXplKCkKIGZsb2F0IHNjcmVlblNjYWxlRmFjdG9yKFVJU2NyZWVu
ICpzY3JlZW4pCiB7CiAgICAgaWYgKCFzY3JlZW4pCi0gICAgICAgIHNjcmVlbiA9IFtQQUw6Omdl
dF9VSUtpdF9VSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVlbl07CisgICAgICAgIHNjcmVlbiA9IFtQ
QUw6OmdldFVJU2NyZWVuQ2xhc3MoKSBtYWluU2NyZWVuXTsKIAogICAgIHJldHVybiBzY3JlZW4u
c2NhbGU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355457</attachid>
            <date>2018-11-21 19:40:09 -0800</date>
            <delta_ts>2018-11-21 20:06:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191899-20181121194007.patch</filename>
            <type>text/plain</type>
            <size>20635</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI2OGQwYTY1NzA3NGQyMDQwZGRkNzNk
ZWU1ZWFkMzFhODRiYzVlYWEuLjIzMWNlMTNjZWNlZGQxNzliODU4NzM0Mzg1MTkyNzgwNTkwYjY4
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVS
LFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5
LCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUiBkZWNsYXJlcyBhIGNsYXNzIGdldHRlciBmdW5j
dGlvbiB0aGF0IGluY2x1ZGVzIHRoZQorICAgICAgICBmcmFtZXdvcmsgbmFtZS4gRm9yIGV4YW1w
bGUsIE5TVmlldyB3b3VsZCBoYXZlIGEgY2xhc3MgZ2V0dGVyIG5hbWVkCisgICAgICAgIG5hbWVz
cGFjZTo6Z2V0X0FwcEtpdF9OU1ZpZXdDbGFzcygpLgorCisgICAgICAgIEluY2x1ZGluZyB0aGUg
ZnJhbWV3b3JrIG5hbWUgaW4gdGhlIGdldHRlciBpcyB1bm5lY2Vzc2FyeS4gT2JqZWN0aXZlLUMg
Y2xhc3NlcyBhbHJlYWR5IGV4aXN0CisgICAgICAgIGluIGEgZ2xvYmFsIG5hbWVzcGFjZSwgc28g
dGhlcmUgaXMgbm8gbmVlZCB0byBkaXNhbWJpZ3VhdGUgY2xhc3MgbmFtZXMgYnkgZnJhbWV3b3Jr
LiBUaGlzCisgICAgICAgIHBhdGNoIGVsaWRlcyB0aGUgZnJhbWV3b3JrIG5hbWUgZnJvbSB0aGUg
Z2V0dGVyIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgTlNWaWV3IHdvdWxkIG5vdyBoYXZlCisgICAg
ICAgIGEgZ2V0dGVyIG5hbWVkIG5hbWVzYXBjZTo6Z2V0TlNWaWV3Q2xhc3MoKS4KKworICAgICAg
ICAqIHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oOgorCiAyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIENyZWF0ZSBhIHNvZnQtbGlua2lu
ZyBmaWxlIGZvciBQYXNzS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOTZkZDQ1ODg3ODYwMWE4YTU0YjQ3
ZjM2MzE0Y2RlZTA0NzExNi4uNGM3ZDdhY2EwNTdlZDFiYzZhZjkzMzgwZDMzMWM4MDhjYzI1NGJi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFNPRlRfTElOS19DTEFTU19GT1Jf
e0hFQURFUixTT1VSQ0V9IHNob3VsZCBnZW5lcmF0ZSBhIG1vcmUgY29uY2lzZSBnZXR0ZXIgZnVu
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6RGF0YURl
dGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UpOgorICAgICAgICAqIGVkaXRpbmcvY29jb2Ev
Rm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRMaXN0OjpjcmVh
dGVUZXh0TGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250QXR0cmlidXRlczo6Y3Jl
YXRlRGljdGlvbmFyeSBjb25zdCk6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9Gb250U2hhZG93
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250U2hhZG93OjpjcmVhdGVTaGFkb3cgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Db2xvckNvY29hLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6cGxhdGZvcm1Db2xvcik6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtU2NyZWVuSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjphdmFpbGFibGVTY3JlZW5TaXplKToKKyAgICAgICAgKFdlYkNvcmU6OnNj
cmVlblNjYWxlRmFjdG9yKToKKwogMjAxOC0xMS0yMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBDcmVhdGUgYSBzb2Z0LWxpbmtpbmcgZmlsZSBmb3Ig
UGFzc0tpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYmJiNjQ5MThmY2MwZGJmNTc2MmNiY2JjZWVi
N2IxYjIxZWNmNmYwZS4uNWRkYTk3OTNhMTY3ZTdhMjNhMzNmMmJjM2NmOGE2OGQ1YTA2OTVkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNT
X0ZPUl97SEVBREVSLFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRl
ciBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkxODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg6CisgICAgICAgICogcGFsL2lvcy9VSUtp
dFNvZnRMaW5rLmg6CisKIDIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gQ3JlYXRlIGEgc29mdC1saW5raW5nIGZpbGUgZm9yIFBhc3NL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggZTE1YzI5Njc5MmRhODlmMjc5N2Q5ZGNiYjMxMTM0ZWM3NjYyNmMzOS4u
MWIxNGVlOTA4NTViMGMyY2ExZGYwZDU2MWRmYzgzYTAxYzFjMzMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOC0xMS0yMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBTT0ZUX0xJTktfQ0xBU1NfRk9SX3tIRUFERVIsU09VUkNFfSBzaG91
bGQgZ2VuZXJhdGUgYSBtb3JlIGNvbmNpc2UgZ2V0dGVyIGZ1bmN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE4OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoLVtXS1Bh
eW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBwYXltZW50QXV0aG9yaXph
dGlvblZpZXdDb250cm9sbGVyOmRpZFJlcXVlc3RNZXJjaGFudFNlc3Npb246XSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXlt
ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtQYXltZW50U3VtbWFyeUl0ZW0pOgorICAgICAg
ICAoV2ViS2l0Ojp0b1BLU2hpcHBpbmdNZXRob2QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpw
bGF0Zm9ybVNob3dQYXltZW50VUkpOgorCiAyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIENyZWF0ZSBhIHNvZnQtbGlua2luZyBmaWxl
IGZvciBQYXNzS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2lu
Zy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaAppbmRleCA3ZmRjNGU5ZTg0
MjVmN2IzMDljNTJjODcyZDlkZDlmYTljNDlkNDNmLi42NDM0Y2JkZTM2YTgwMTEwOWJjN2I3ODJk
NGZjMzgwOWU2MDE2Mzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlu
a2luZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1NvZnRMaW5raW5nLmgKQEAgLTM3OCwx
NCArMzc4LDE0IEBACiAjZGVmaW5lIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09V
UkNFKGZ1bmN0aW9uTmFtZXNwYWNlLCBmcmFtZXdvcmspIFwKICAgICBTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChmdW5jdGlvbk5hbWVzcGFjZSwgZnJh
bWV3b3JrLCApCiAKLSNkZWZpbmUgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoZnVuY3Rpb25O
YW1lc3BhY2UsIGZyYW1ld29yaywgY2xhc3NOYW1lKSBcCisjZGVmaW5lIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKGZ1bmN0aW9uTmFtZXNwYWNlLCBjbGFzc05hbWUpIFwKICAgICBAY2xhc3Mg
Y2xhc3NOYW1lOyBcCiAgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsgXAotICAgIGV4
dGVybiBDbGFzcyAoKmdldF8jI2ZyYW1ld29yayMjXyMjY2xhc3NOYW1lIyNDbGFzcykoKTsgXAor
ICAgIGV4dGVybiBDbGFzcyAoKmdldCMjY2xhc3NOYW1lIyNDbGFzcykoKTsgXAogICAgIGNsYXNz
TmFtZSAqYWxsb2MjI2NsYXNzTmFtZSMjSW5zdGFuY2UoKTsgXAogICAgIGlubGluZSBjbGFzc05h
bWUgKmFsbG9jIyNjbGFzc05hbWUjI0luc3RhbmNlKCkgXAogICAgIHsgXAotICAgICAgICByZXR1
cm4gW2dldF8jI2ZyYW1ld29yayMjXyMjY2xhc3NOYW1lIyNDbGFzcygpIGFsbG9jXTsgXAorICAg
ICAgICByZXR1cm4gW2dldCMjY2xhc3NOYW1lIyNDbGFzcygpIGFsbG9jXTsgXAogICAgIH0gXAog
ICAgIH0KIApAQCAtMzkzLDcgKzM5Myw3IEBACiAgICAgQGNsYXNzIGNsYXNzTmFtZTsgXAogICAg
IG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwKICAgICBzdGF0aWMgQ2xhc3MgaW5pdCMj
Y2xhc3NOYW1lKCk7IFwKLSAgICBleHBvcnQgQ2xhc3MgKCpnZXRfIyNmcmFtZXdvcmsjI18jI2Ns
YXNzTmFtZSMjQ2xhc3MpKCkgPSBpbml0IyNjbGFzc05hbWU7IFwKKyAgICBleHBvcnQgQ2xhc3Mg
KCpnZXQjI2NsYXNzTmFtZSMjQ2xhc3MpKCkgPSBpbml0IyNjbGFzc05hbWU7IFwKICAgICBzdGF0
aWMgQ2xhc3MgY2xhc3MjI2NsYXNzTmFtZTsgXAogICAgIFwKICAgICBzdGF0aWMgQ2xhc3MgY2xh
c3NOYW1lIyNGdW5jdGlvbigpIFwKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICAgICAgZnJh
bWV3b3JrIyNMaWJyYXJ5KCk7IFwKICAgICAgICAgICAgIGNsYXNzIyNjbGFzc05hbWUgPSBvYmpj
X2dldENsYXNzKCNjbGFzc05hbWUpOyBcCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjbGFz
cyMjY2xhc3NOYW1lKTsgXAotICAgICAgICAgICAgZ2V0XyMjZnJhbWV3b3JrIyNfIyNjbGFzc05h
bWUjI0NsYXNzID0gY2xhc3NOYW1lIyNGdW5jdGlvbjsgXAorICAgICAgICAgICAgZ2V0IyNjbGFz
c05hbWUjI0NsYXNzID0gY2xhc3NOYW1lIyNGdW5jdGlvbjsgXAogICAgICAgICB9KTsgXAogICAg
ICAgICByZXR1cm4gY2xhc3MjI2NsYXNzTmFtZTsgXAogICAgIH0gXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggODUzMDBmOGEzNmYxMjc2
ZjlhM2Q5NDI1NmI0NWZmN2UzZWFkOWQ1My4uYzA4NzQ4OTU1NjUxZDljYzNiN2YzMTUzZGY1NTI5
ZTE2MzNkM2VhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNz
S2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5oCkBAIC0zMiwyNCArMzIsMjQgQEAKIAogU09GVF9MSU5LX0ZSQU1FV09SS19GT1Jf
SEVBREVSKFBBTCwgUGFzc0tpdCkKIAotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQ
YXNzS2l0LCBQS0NvbnRhY3QpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLUGFzc0xpYnJhcnkpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLUGF5bWVudCkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyKQotU09GVF9MSU5LX0NMQVNTX0ZP
Ul9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRNZXRob2QpCi1TT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbikKLVNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50UmVxdWVzdCkKLVNP
RlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U3VtbWFyeUl0
ZW0pCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLU2hpcHBpbmdN
ZXRob2QpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLQ29udGFjdCkKK1NPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXNzTGlicmFyeSkKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIo
UEFMLCBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudE1ldGhvZCkKK1NPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uKQorU09GVF9MSU5LX0NMQVNTX0ZP
Ul9IRUFERVIoUEFMLCBQS1BheW1lbnRSZXF1ZXN0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFE
RVIoUEFMLCBQS1BheW1lbnRTdW1tYXJ5SXRlbSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgUEtTaGlwcGluZ01ldGhvZCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
UEFMLCBQYXNzS2l0LCBQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJBbmRE
b21haW4sIHZvaWQsIChOU1N0cmluZyAqaWRlbnRpZmllciwgTlNTdHJpbmcgKmRvbWFpbiwgUEtD
YW5NYWtlUGF5bWVudHNDb21wbGV0aW9uIGNvbXBsZXRpb24pLCAoaWRlbnRpZmllciwgZG9tYWlu
LCBjb21wbGV0aW9uKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgUGFzc0tp
dCwgUEtEcmF3QXBwbGVQYXlCdXR0b24sIHZvaWQsIChDR0NvbnRleHRSZWYgY29udGV4dCwgQ0dS
ZWN0IGRyYXdSZWN0LCBDR0Zsb2F0IHNjYWxlLCBQS1BheW1lbnRCdXR0b25UeXBlIHR5cGUsIFBL
UGF5bWVudEJ1dHRvblN0eWxlIHN0eWxlLCBOU1N0cmluZyAqbGFuZ3VhZ2VDb2RlKSwgKGNvbnRl
eHQsIGRyYXdSZWN0LCBzY2FsZSwgdHlwZSwgc3R5bGUsIGxhbmd1YWdlQ29kZSkpCiAKICNpZiBQ
TEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNz
S2l0LCBQS1BheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0KQotU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSkK
LVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50UmVxdWVz
dFNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
UGFzc0tpdCwgUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBkYXRlKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0KQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhv
ZFVwZGF0ZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVz
dFNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
UEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBkYXRlKQogCiBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLQ29udGFjdEZpZWxkRW1haWxBZGRyZXNzLCBQ
S0NvbnRhY3RGaWVsZCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgUGFzc0tp
dCwgUEtDb250YWN0RmllbGROYW1lLCBQS0NvbnRhY3RGaWVsZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1VJS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvaW9zL1VJS2l0U29mdExpbmsuaAppbmRleCA2YWYwYmNkMWMzY2MxY2MzMGFhM2I4ZGE2
NWE0NjQ4NWFlNWM5OTZhLi41NTIxOTQ0Y2VkMDMxZDkxYjA5N2FmYzlmOTIyZjUxNDdmODNjODc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvVUlLaXRTb2Z0TGluay5oCkBAIC0zMiwx
MiArMzIsMTIgQEAKIAogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKFBBTCwgVUlLaXQp
CiAKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlLaXQsIE5TUGFyYWdyYXBoU3R5
bGUpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJS2l0LCBOU1NoYWRvdykKLVNP
RlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlLaXQsIE5TVGV4dExpc3QpCi1TT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJS2l0LCBVSUFwcGxpY2F0aW9uKQotU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlTY3JlZW4pCi1TT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIFVJS2l0LCBVSUNvbG9yKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFE
RVIoUEFMLCBOU1BhcmFncmFwaFN0eWxlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFM
LCBOU1NoYWRvdykKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgTlNUZXh0TGlzdCkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlBcHBsaWNhdGlvbikKK1NPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlTY3JlZW4pCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hF
QURFUihQQUwsIFVJQ29sb3IpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIFVJ
S2l0LCBVSUFjY2Vzc2liaWxpdHlJc0dyYXlzY2FsZUVuYWJsZWQsIEJPT0wsICh2b2lkKSwgKCkp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIFVJS2l0LCBVSUFjY2Vzc2liaWxp
dHlJc0ludmVydENvbG9yc0VuYWJsZWQsIEJPT0wsICh2b2lkKSwgKCkpCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbSBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQppbmRleCBjOTk5ZGQ3MTY3OTY0
ZTMxYTY3YmE0ZTY4MDk5ZmJhYzUwYzU3YmJjLi4xMDFjY2I5YjE4M2JlOWI3MTVkNWM1ZDdiOTIz
YmFjZjE4YmUzYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Rh
dGFEZXRlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0
ZWN0aW9uLm1tCkBAIC02NDMsNyArNjQzLDcgQEAgTlNBcnJheSAqRGF0YURldGVjdGlvbjo6ZGV0
ZWN0Q29udGVudEluUmFuZ2UoUmVmUHRyPFJhbmdlPiYgY29udGV4dFJhbmdlLCBEYXRhRGUKICAg
ICBpZiAobGFzdFRleHROb2RlVG9VcGRhdGUpCiAgICAgICAgIGxhc3RUZXh0Tm9kZVRvVXBkYXRl
LT5zZXREYXRhKGxhc3ROb2RlQ29udGVudCk7CiAgICAgCi0gICAgcmV0dXJuIFtnZXRfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FubmVyUmVzdWx0Q2xhc3MoKSByZXN1bHRzRnJvbUNvcmVSZXN1bHRz
OnNjYW5uZXJSZXN1bHRzLmdldCgpXTsKKyAgICByZXR1cm4gW2dldEREU2Nhbm5lclJlc3VsdENs
YXNzKCkgcmVzdWx0c0Zyb21Db3JlUmVzdWx0czpzY2FubmVyUmVzdWx0cy5nZXQoKV07CiB9CiAK
ICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRy
aWJ1dGVzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1
dGVzQ29jb2EubW0KaW5kZXggNGJjNDU4YmYwMjJmNTkyN2U0ZDU3NjM1YjE1YWFkMGE1MmRkMzk2
My4uZjZmOTJhNGM5ZDRmOTZiYWQ4Mzk3ZmEyM2ZiZDUyMGVkZjI5MzAyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQpAQCAt
NzYsNyArNzYsNyBAQCBSZXRhaW5QdHI8TlNUZXh0TGlzdD4gVGV4dExpc3Q6OmNyZWF0ZVRleHRM
aXN0KCkgY29uc3QKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ2xhc3MgdGV4dExpc3RDbGFzcyA9
IE5TVGV4dExpc3QuY2xhc3M7CiAjZWxzZQotICAgIENsYXNzIHRleHRMaXN0Q2xhc3MgPSBQQUw6
OmdldF9VSUtpdF9OU1RleHRMaXN0Q2xhc3MoKTsKKyAgICBDbGFzcyB0ZXh0TGlzdENsYXNzID0g
UEFMOjpnZXROU1RleHRMaXN0Q2xhc3MoKTsKICNlbmRpZgogICAgIGF1dG8gcmVzdWx0ID0gYWRv
cHROUyhbW3RleHRMaXN0Q2xhc3MgYWxsb2NdIGluaXRXaXRoTWFya2VyRm9ybWF0OmNvY29hVGV4
dExpc3RNYXJrZXJOYW1lKHN0eWxlLCBvcmRlcmVkKSBvcHRpb25zOjBdKTsKICAgICBbcmVzdWx0
IHNldFN0YXJ0aW5nSXRlbU51bWJlcjpzdGFydGluZ0l0ZW1OdW1iZXJdOwpAQCAtMTA2LDcgKzEw
Niw3IEBAIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IEZvbnRBdHRyaWJ1dGVzOjpjcmVhdGVEaWN0
aW9uYXJ5KCkgY29uc3QKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ2xhc3MgcGFyYWdyYXBoU3R5
bGVDbGFzcyA9IE5TUGFyYWdyYXBoU3R5bGUuY2xhc3M7CiAjZWxzZQotICAgIENsYXNzIHBhcmFn
cmFwaFN0eWxlQ2xhc3MgPSBQQUw6OmdldF9VSUtpdF9OU1BhcmFncmFwaFN0eWxlQ2xhc3MoKTsK
KyAgICBDbGFzcyBwYXJhZ3JhcGhTdHlsZUNsYXNzID0gUEFMOjpnZXROU1BhcmFncmFwaFN0eWxl
Q2xhc3MoKTsKICNlbmRpZgogICAgIGF1dG8gc3R5bGUgPSBhZG9wdE5TKFtbcGFyYWdyYXBoU3R5
bGVDbGFzcyBkZWZhdWx0UGFyYWdyYXBoU3R5bGVdIG11dGFibGVDb3B5XSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udFNoYWRvd0NvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250U2hhZG93Q29jb2EubW0KaW5kZXggMWY0ZjA3
N2JmYjYyN2ExN2UzNmJiZTlhMTNlN2VhMjBjMjI2NmE2Mi4uMDQ1OGQwNjE0NmRiNTBkODI2MDll
ZjQ4ZTIyMTFlMmEzYzk3ZjE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9Gb250U2hhZG93Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2Nv
YS9Gb250U2hhZG93Q29jb2EubW0KQEAgLTQwLDcgKzQwLDcgQEAgUmV0YWluUHRyPE5TU2hhZG93
PiBGb250U2hhZG93OjpjcmVhdGVTaGFkb3coKSBjb25zdAogI2lmIFVTRShBUFBLSVQpCiAgICAg
YXV0byBzaGFkb3cgPSBhZG9wdE5TKFtOU1NoYWRvdyBuZXddKTsKICNlbGlmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgYXV0byBzaGFkb3cgPSBhZG9wdE5TKFtQQUw6OmdldF9VSUtpdF9OU1No
YWRvd0NsYXNzKCkgbmV3XSk7CisgICAgYXV0byBzaGFkb3cgPSBhZG9wdE5TKFtQQUw6OmdldE5T
U2hhZG93Q2xhc3MoKSBuZXddKTsKICNlbmRpZgogICAgIFtzaGFkb3cgc2V0U2hhZG93Q29sb3I6
cGxhdGZvcm1Db2xvcihjb2xvcildOwogICAgIFtzaGFkb3cgc2V0U2hhZG93T2Zmc2V0Om9mZnNl
dF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0
b3JzQ29yZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0
ZWN0b3JzQ29yZVNvZnRMaW5rLmgKaW5kZXggZTA4NjZlZmRhYmMwZTA3ZmUwYzY2ODY1YWVkOGRk
ZjdkY2M4MTg0NC4uNzc5ZmFjNWIwMTQzZTMzMjM5ZjMwYjJhNmM4NGYyMzUyMzAxMjAzNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3Rv
cnNDb3JlU29mdExpbmsuaApAQCAtMzIsNyArMzIsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9y
c0NvcmUsIEREU2Nhbm5lclJlc3VsdCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYkNv
cmUsIEREU2Nhbm5lclJlc3VsdCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDcmVhdGUsIEREU2Nhbm5lclJlZiwgKERE
U2Nhbm5lclR5cGUgdHlwZSwgRERTY2FubmVyT3B0aW9ucyBvcHRpb25zLCBDRkVycm9yUmVmICog
ZXJyb3JSZWYpLCAodHlwZSwgb3B0aW9ucywgZXJyb3JSZWYpKQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclNjYW5RdWVy
eSwgQm9vbGVhbiwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5RdWVyeVJlZiBxdWVyeSks
IChzY2FubmVyLCBxdWVyeSkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlDcmVhdGUsIEREU2NhblF1ZXJ5UmVmLCAo
Q0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKGFsbG9jYXRvcikpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Db2xvckNvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5tbQppbmRleCBmZjI2
OTJjZDI5ZDExMDExNmRkZGZiM2EyM2YyZGIxMTFhM2I1OTJhLi45NTc3NzAxMDYwZDQ4MjAwMTM0
NDIxZmEwZjg2YTAwZDNjYjY4ZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Db2xvckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0NvbG9yQ29jb2EubW0KQEAgLTQ4LDcgKzQ4LDcgQEAgTlNDb2xv
ciAqcGxhdGZvcm1Db2xvcihjb25zdCBDb2xvciYgY29sb3IpCiAKIFVJQ29sb3IgKnBsYXRmb3Jt
Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogewotICAgIHJldHVybiBbUEFMOjpnZXRfVUlLaXRf
VUlDb2xvckNsYXNzKCkgX2Rpc2FtYmlndWF0ZWRfZHVlX3RvX0NJSW1hZ2VfY29sb3JXaXRoQ0dD
b2xvcjpjYWNoZWRDR0NvbG9yKGNvbG9yKV07CisgICAgcmV0dXJuIFtQQUw6OmdldFVJQ29sb3JD
bGFzcygpIF9kaXNhbWJpZ3VhdGVkX2R1ZV90b19DSUltYWdlX2NvbG9yV2l0aENHQ29sb3I6Y2Fj
aGVkQ0dDb2xvcihjb2xvcildOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQppbmRleCA5ZDJlYmQ0OTRiN2NhODJmMmRm
YWM0Yjk3MDY4M2NmMjc2MThkYzZmLi40MWFkYzJhOGZhMzI4NTBmNWY0N2ZjMjNmOWEyNTQ4Njc1
MzcyM2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1T
Y3JlZW5JT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2Ny
ZWVuSU9TLm1tCkBAIC0xMjksMTYgKzEyOSwxNiBAQCBmbG9hdCBzY3JlZW5QUElGYWN0b3IoKQog
CiBGbG9hdFNpemUgc2NyZWVuU2l6ZSgpCiB7Ci0gICAgaWYgKGRldmljZUhhc0lQYWRDYXBhYmls
aXR5KCkgJiYgW1tQQUw6OmdldF9VSUtpdF9VSUFwcGxpY2F0aW9uQ2xhc3MoKSBzaGFyZWRBcHBs
aWNhdGlvbl0gX2lzQ2xhc3NpY10pCisgICAgaWYgKGRldmljZUhhc0lQYWRDYXBhYmlsaXR5KCkg
JiYgW1tQQUw6OmdldFVJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFwcGxpY2F0aW9uXSBfaXND
bGFzc2ljXSkKICAgICAgICAgcmV0dXJuIHsgMzIwLCA0ODAgfTsKLSAgICByZXR1cm4gRmxvYXRT
aXplKFtbUEFMOjpnZXRfVUlLaXRfVUlTY3JlZW5DbGFzcygpIG1haW5TY3JlZW5dIF9yZWZlcmVu
Y2VCb3VuZHNdLnNpemUpOworICAgIHJldHVybiBGbG9hdFNpemUoW1tQQUw6OmdldFVJU2NyZWVu
Q2xhc3MoKSBtYWluU2NyZWVuXSBfcmVmZXJlbmNlQm91bmRzXS5zaXplKTsKIH0KIAogRmxvYXRT
aXplIGF2YWlsYWJsZVNjcmVlblNpemUoKQogewotICAgIGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJp
bGl0eSgpICYmIFtbUEFMOjpnZXRfVUlLaXRfVUlBcHBsaWNhdGlvbkNsYXNzKCkgc2hhcmVkQXBw
bGljYXRpb25dIF9pc0NsYXNzaWNdKQorICAgIGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJpbGl0eSgp
ICYmIFtbUEFMOjpnZXRVSUFwcGxpY2F0aW9uQ2xhc3MoKSBzaGFyZWRBcHBsaWNhdGlvbl0gX2lz
Q2xhc3NpY10pCiAgICAgICAgIHJldHVybiB7IDMyMCwgNDgwIH07Ci0gICAgcmV0dXJuIEZsb2F0
U2l6ZShbUEFMOjpnZXRfVUlLaXRfVUlTY3JlZW5DbGFzcygpIG1haW5TY3JlZW5dLmJvdW5kcy5z
aXplKTsKKyAgICByZXR1cm4gRmxvYXRTaXplKFtQQUw6OmdldFVJU2NyZWVuQ2xhc3MoKSBtYWlu
U2NyZWVuXS5ib3VuZHMuc2l6ZSk7CiB9CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAm
JiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvUGxhdGZvcm1TY3JlZW5JT1MubW0+KQpA
QCAtMTUzLDcgKzE1Myw3IEBAIEZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNpemUoKQogZmxvYXQg
c2NyZWVuU2NhbGVGYWN0b3IoVUlTY3JlZW4gKnNjcmVlbikKIHsKICAgICBpZiAoIXNjcmVlbikK
LSAgICAgICAgc2NyZWVuID0gW1BBTDo6Z2V0X1VJS2l0X1VJU2NyZWVuQ2xhc3MoKSBtYWluU2Ny
ZWVuXTsKKyAgICAgICAgc2NyZWVuID0gW1BBTDo6Z2V0VUlTY3JlZW5DbGFzcygpIG1haW5TY3Jl
ZW5dOwogCiAgICAgcmV0dXJuIHNjcmVlbi5zY2FsZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IGM5NGE1ZjBjNDM3YmJlNWEzNDI1ZDJh
ODIzMjBkNGM3ZmRhZGM5Y2IuLjA1NmQ1YzNmNGE1Mzk0ZDNjZjVkZWQ2ZDZkYjU0ZjBmODY2NGE5
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpA
QCAtODQsNyArODQsNyBAQCAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xs
ZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcgogICAgIEFTU0VSVCghX3Nl
c3Npb25CbG9jayk7CiAgICAgX3Nlc3Npb25CbG9jayA9IHNlc3Npb25CbG9jazsKIAotICAgIFtQ
QUw6OmdldF9QYXNzS2l0X1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckNsYXNz
KCkgcGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6XihOU1VSTCAqbWVyY2hhbnRVUkwsIE5TRXJy
b3IgKmVycm9yKSB7CisgICAgW1BBTDo6Z2V0UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250
cm9sbGVyQ2xhc3MoKSBwYXltZW50U2VydmljZXNNZXJjaGFudFVSTDpeKE5TVVJMICptZXJjaGFu
dFVSTCwgTlNFcnJvciAqZXJyb3IpIHsKICAgICAgICAgaWYgKGVycm9yKQogICAgICAgICAgICAg
TE9HX0VSUk9SKCJQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJBbmREb21h
aW4gZXJyb3IgJUAiLCBlcnJvcik7CiAKQEAgLTI1OCw3ICsyNTgsNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1DYW5NYWtl
UGF5bWVudHMoKQogewotICAgIHJldHVybiBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRBdXRo
b3JpemF0aW9uVmlld0NvbnRyb2xsZXJDbGFzcygpIGNhbk1ha2VQYXltZW50c107CisgICAgcmV0
dXJuIFtQQUw6OmdldFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkg
Y2FuTWFrZVBheW1lbnRzXTsKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
cGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNo
YW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZv
aWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMzUwLDcgKzM1MCw3IEBAIHN0YXRp
YyBOU0RlY2ltYWxOdW1iZXIgKnRvRGVjaW1hbE51bWJlcihjb25zdCBTdHJpbmcmIGFtb3VudCkK
IAogc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRTdW1tYXJ5SXRlbT4gdG9QS1BheW1lbnRTdW1t
YXJ5SXRlbShjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6TGlu
ZUl0ZW0mIGxpbmVJdGVtKQogewotICAgIHJldHVybiBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1l
bnRTdW1tYXJ5SXRlbUNsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0ZW0ubGFiZWwg
YW1vdW50OnRvRGVjaW1hbE51bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9QS1BheW1lbnRT
dW1tYXJ5SXRlbVR5cGUobGluZUl0ZW0udHlwZSldOworICAgIHJldHVybiBbUEFMOjpnZXRQS1Bh
eW1lbnRTdW1tYXJ5SXRlbUNsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0ZW0ubGFi
ZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9QS1BheW1l
bnRTdW1tYXJ5SXRlbVR5cGUobGluZUl0ZW0udHlwZSldOwogfQogCiBzdGF0aWMgUmV0YWluUHRy
PE5TQXJyYXk+IHRvUEtQYXltZW50U3VtbWFyeUl0ZW1zKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcyYgdG90YWxBbmRMaW5lSXRl
bXMpCkBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIFBLU2hpcHBpbmdUeXBlIHRvUEtTaGlwcGlu
Z1R5cGUoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlMKIAogc3RhdGlj
IFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiB0b1BLU2hpcHBpbmdNZXRob2QoY29uc3QgV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kJiBzaGlw
cGluZ01ldGhvZCkKIHsKLSAgICBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gcmVzdWx0ID0g
W1BBTDo6Z2V0X1Bhc3NLaXRfUEtTaGlwcGluZ01ldGhvZENsYXNzKCkgc3VtbWFyeUl0ZW1XaXRo
TGFiZWw6c2hpcHBpbmdNZXRob2QubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihzaGlwcGlu
Z01ldGhvZC5hbW91bnQpXTsKKyAgICBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gcmVzdWx0
ID0gW1BBTDo6Z2V0UEtTaGlwcGluZ01ldGhvZENsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6
c2hpcHBpbmdNZXRob2QubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihzaGlwcGluZ01ldGhv
ZC5hbW91bnQpXTsKICAgICBbcmVzdWx0IHNldElkZW50aWZpZXI6c2hpcHBpbmdNZXRob2QuaWRl
bnRpZmllcl07CiAgICAgW3Jlc3VsdCBzZXREZXRhaWw6c2hpcHBpbmdNZXRob2QuZGV0YWlsXTsK
IApAQCAtNzk4LDcgKzc5OCw3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBs
YXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKGNvbnN0IHN0CiAKIFZlY3RvcjxT
dHJpbmc+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUF2YWlsYWJsZVBheW1l
bnROZXR3b3JrcygpCiB7Ci0gICAgTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxl
TmV0d29ya3MgPSBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRSZXF1ZXN0Q2xhc3MoKSBhdmFp
bGFibGVOZXR3b3Jrc107CisgICAgTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxl
TmV0d29ya3MgPSBbUEFMOjpnZXRQS1BheW1lbnRSZXF1ZXN0Q2xhc3MoKSBhdmFpbGFibGVOZXR3
b3Jrc107CiAgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OwogICAgIHJlc3VsdC5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGF2YWlsYWJsZU5ldHdvcmtzLmNvdW50KTsKICAgICBmb3IgKFBLUGF5bWVu
dE5ldHdvcmsgbmV0d29yayBpbiBhdmFpbGFibGVOZXR3b3JrcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eU1hYy5tbQppbmRleCAyZTk5Y2IxNDc3MjM3NWE0ZTg3YzI5ZjU3MmFm
ZTk3NWNmYTE4NjExLi5iZDgzMGM2MjQ0ZGRmNTY5YzUxODVkYmU5Yjc1MDM2MDBjOWM3Yzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBw
bGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tCkBAIC00MSw3ICs0MSw3
IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRV
SShjb25zdCBXZWJDb3JlOjpVUkwmIG9yaWdpCiAKICAgICBhdXRvIHNob3dQYXltZW50VUlSZXF1
ZXN0U2VlZCA9IG1fc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVkOwogICAgIGF1dG8gd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyk7Ci0gICAgW1BBTDo6Z2V0X1Bhc3NLaXRfUEtQYXltZW50QXV0
aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSByZXF1ZXN0Vmlld0NvbnRyb2xsZXJXaXRo
UGF5bWVudFJlcXVlc3Q6cGF5bWVudFJlcXVlc3QuZ2V0KCkgY29tcGxldGlvbjpCbG9ja1B0cjx2
b2lkKFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciAqLCBOU0Vycm9yICopPjo6
ZnJvbUNhbGxhYmxlKFtwYXltZW50UmVxdWVzdCwgc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVkLCB3
ZWFrVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICp2aWV3Q29udHJvbGxlciwgTlNF
cnJvciAqZXJyb3IpIHsKKyAgICBbUEFMOjpnZXRQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0Nv
bnRyb2xsZXJDbGFzcygpIHJlcXVlc3RWaWV3Q29udHJvbGxlcldpdGhQYXltZW50UmVxdWVzdDpw
YXltZW50UmVxdWVzdC5nZXQoKSBjb21wbGV0aW9uOkJsb2NrUHRyPHZvaWQoUEtQYXltZW50QXV0
aG9yaXphdGlvblZpZXdDb250cm9sbGVyICosIE5TRXJyb3IgKik+Ojpmcm9tQ2FsbGFibGUoW3Bh
eW1lbnRSZXF1ZXN0LCBzaG93UGF5bWVudFVJUmVxdWVzdFNlZWQsIHdlYWtUaGlzLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShQS1BheW1lbnRBdXRob3Jp
emF0aW9uVmlld0NvbnRyb2xsZXIgKnZpZXdDb250cm9sbGVyLCBOU0Vycm9yICplcnJvcikgewog
ICAgICAgICBhdXRvIHBheW1lbnRDb29yZGluYXRvclByb3h5ID0gd2Vha1RoaXMuZ2V0KCk7CiAg
ICAgICAgIGlmICghcGF5bWVudENvb3JkaW5hdG9yUHJveHkpCiAgICAgICAgICAgICByZXR1cm47
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355459</attachid>
            <date>2018-11-21 20:06:31 -0800</date>
            <delta_ts>2018-11-24 09:59:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191899-20181121200629.patch</filename>
            <type>text/plain</type>
            <size>23478</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI2OGQwYTY1NzA3NGQyMDQwZGRkNzNk
ZWU1ZWFkMzFhODRiYzVlYWEuLjIzMWNlMTNjZWNlZGQxNzliODU4NzM0Mzg1MTkyNzgwNTkwYjY4
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVS
LFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5
LCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUiBkZWNsYXJlcyBhIGNsYXNzIGdldHRlciBmdW5j
dGlvbiB0aGF0IGluY2x1ZGVzIHRoZQorICAgICAgICBmcmFtZXdvcmsgbmFtZS4gRm9yIGV4YW1w
bGUsIE5TVmlldyB3b3VsZCBoYXZlIGEgY2xhc3MgZ2V0dGVyIG5hbWVkCisgICAgICAgIG5hbWVz
cGFjZTo6Z2V0X0FwcEtpdF9OU1ZpZXdDbGFzcygpLgorCisgICAgICAgIEluY2x1ZGluZyB0aGUg
ZnJhbWV3b3JrIG5hbWUgaW4gdGhlIGdldHRlciBpcyB1bm5lY2Vzc2FyeS4gT2JqZWN0aXZlLUMg
Y2xhc3NlcyBhbHJlYWR5IGV4aXN0CisgICAgICAgIGluIGEgZ2xvYmFsIG5hbWVzcGFjZSwgc28g
dGhlcmUgaXMgbm8gbmVlZCB0byBkaXNhbWJpZ3VhdGUgY2xhc3MgbmFtZXMgYnkgZnJhbWV3b3Jr
LiBUaGlzCisgICAgICAgIHBhdGNoIGVsaWRlcyB0aGUgZnJhbWV3b3JrIG5hbWUgZnJvbSB0aGUg
Z2V0dGVyIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgTlNWaWV3IHdvdWxkIG5vdyBoYXZlCisgICAg
ICAgIGEgZ2V0dGVyIG5hbWVkIG5hbWVzYXBjZTo6Z2V0TlNWaWV3Q2xhc3MoKS4KKworICAgICAg
ICAqIHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oOgorCiAyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIENyZWF0ZSBhIHNvZnQtbGlua2lu
ZyBmaWxlIGZvciBQYXNzS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWEzOTZkZDQ1ODg3ODYwMWE4YTU0YjQ3
ZjM2MzE0Y2RlZTA0NzExNi4uZjg3Nzc0MTVhNTlhMzFhMzA2NzAwMTU1MDU0MDlhZDhjNjg2OGY2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFNPRlRfTElOS19DTEFTU19GT1Jf
e0hFQURFUixTT1VSQ0V9IHNob3VsZCBnZW5lcmF0ZSBhIG1vcmUgY29uY2lzZSBnZXR0ZXIgZnVu
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAqIGVkaXRpbmcvY29jb2Ev
Rm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0ZvbnRTaGFk
b3dDb2NvYS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNv
ZnRMaW5rLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW06CisKIDIwMTgt
MTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0g
Q3JlYXRlIGEgc29mdC1saW5raW5nIGZpbGUgZm9yIFBhc3NLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmlu
ZGV4IGJiYjY0OTE4ZmNjMGRiZjU3NjJjYmNiY2VlYjdiMWIyMWVjZjZmMGUuLjVkZGE5NzkzYTE2
N2U3YTIzYTMzZjJiYzNjZjhhNjhkNWEwNjk1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDE4LTExLTIxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIFNPRlRfTElOS19DTEFTU19GT1Jfe0hFQURFUixTT1VSQ0V9IHNob3Vs
ZCBnZW5lcmF0ZSBhIG1vcmUgY29uY2lzZSBnZXR0ZXIgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTg5OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0
TGluay5oOgorICAgICAgICAqIHBhbC9pb3MvVUlLaXRTb2Z0TGluay5oOgorCiAyMDE4LTExLTIx
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIENyZWF0
ZSBhIHNvZnQtbGlua2luZyBmaWxlIGZvciBQYXNzS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxNWMyOTY3OTJk
YTg5ZjI3OTdkOWRjYmIzMTEzNGVjNzY2MjZjMzkuLmZjNWZkMWZkMTZmNmMzMGQxYjgyMTkyYzFi
ODFmZjZhNzgyODI0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTEtMjEgIEFu
ZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5L
X0NMQVNTX0ZPUl97SEVBREVSLFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNl
IGdldHRlciBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkxODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTaGFyZWQvY29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06Cisg
ICAgICAgICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW06CisgICAgICAgICogVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eU1hYy5tbToKKwogMjAxOC0xMS0yMSAgQW5keSBFc3RlcyAgPGFlc3Rl
c0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBDcmVhdGUgYSBzb2Z0LWxpbmtpbmcgZmls
ZSBmb3IgUGFzc0tpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtp
bmcuaCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1NvZnRMaW5raW5nLmgKaW5kZXggN2ZkYzRlOWU4
NDI1ZjdiMzA5YzUyYzg3MmQ5ZGQ5ZmE5YzQ5ZDQzZi4uNjQzNGNiZGUzNmE4MDExMDliYzdiNzgy
ZDRmYzM4MDllNjAxNjM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExp
bmtpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCkBAIC0zNzgs
MTQgKzM3OCwxNCBAQAogI2RlZmluZSBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NP
VVJDRShmdW5jdGlvbk5hbWVzcGFjZSwgZnJhbWV3b3JrKSBcCiAgICAgU09GVF9MSU5LX1BSSVZB
VEVfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoZnVuY3Rpb25OYW1lc3BhY2UsIGZy
YW1ld29yaywgKQogCi0jZGVmaW5lIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKGZ1bmN0aW9u
TmFtZXNwYWNlLCBmcmFtZXdvcmssIGNsYXNzTmFtZSkgXAorI2RlZmluZSBTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihmdW5jdGlvbk5hbWVzcGFjZSwgY2xhc3NOYW1lKSBcCiAgICAgQGNsYXNz
IGNsYXNzTmFtZTsgXAogICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwKLSAgICBl
eHRlcm4gQ2xhc3MgKCpnZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MpKCk7IFwK
KyAgICBleHRlcm4gQ2xhc3MgKCpnZXQjI2NsYXNzTmFtZSMjQ2xhc3MpKCk7IFwKICAgICBjbGFz
c05hbWUgKmFsbG9jIyNjbGFzc05hbWUjI0luc3RhbmNlKCk7IFwKICAgICBpbmxpbmUgY2xhc3NO
YW1lICphbGxvYyMjY2xhc3NOYW1lIyNJbnN0YW5jZSgpIFwKICAgICB7IFwKLSAgICAgICAgcmV0
dXJuIFtnZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFtZSMjQ2xhc3MoKSBhbGxvY107IFwKKyAg
ICAgICAgcmV0dXJuIFtnZXQjI2NsYXNzTmFtZSMjQ2xhc3MoKSBhbGxvY107IFwKICAgICB9IFwK
ICAgICB9CiAKQEAgLTM5Myw3ICszOTMsNyBAQAogICAgIEBjbGFzcyBjbGFzc05hbWU7IFwKICAg
ICBuYW1lc3BhY2UgZnVuY3Rpb25OYW1lc3BhY2UgeyBcCiAgICAgc3RhdGljIENsYXNzIGluaXQj
I2NsYXNzTmFtZSgpOyBcCi0gICAgZXhwb3J0IENsYXNzICgqZ2V0XyMjZnJhbWV3b3JrIyNfIyNj
bGFzc05hbWUjI0NsYXNzKSgpID0gaW5pdCMjY2xhc3NOYW1lOyBcCisgICAgZXhwb3J0IENsYXNz
ICgqZ2V0IyNjbGFzc05hbWUjI0NsYXNzKSgpID0gaW5pdCMjY2xhc3NOYW1lOyBcCiAgICAgc3Rh
dGljIENsYXNzIGNsYXNzIyNjbGFzc05hbWU7IFwKICAgICBcCiAgICAgc3RhdGljIENsYXNzIGNs
YXNzTmFtZSMjRnVuY3Rpb24oKSBcCkBAIC00MDgsNyArNDA4LDcgQEAKICAgICAgICAgICAgIGZy
YW1ld29yayMjTGlicmFyeSgpOyBcCiAgICAgICAgICAgICBjbGFzcyMjY2xhc3NOYW1lID0gb2Jq
Y19nZXRDbGFzcygjY2xhc3NOYW1lKTsgXAogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY2xh
c3MjI2NsYXNzTmFtZSk7IFwKLSAgICAgICAgICAgIGdldF8jI2ZyYW1ld29yayMjXyMjY2xhc3NO
YW1lIyNDbGFzcyA9IGNsYXNzTmFtZSMjRnVuY3Rpb247IFwKKyAgICAgICAgICAgIGdldCMjY2xh
c3NOYW1lIyNDbGFzcyA9IGNsYXNzTmFtZSMjRnVuY3Rpb247IFwKICAgICAgICAgfSk7IFwKICAg
ICAgICAgcmV0dXJuIGNsYXNzIyNjbGFzc05hbWU7IFwKICAgICB9IFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IDg1MzAwZjhhMzZmMTI3
NmY5YTNkOTQyNTZiNDVmZjdlM2VhZDlkNTMuLmMwODc0ODk1NTY1MWQ5Y2MzYjdmMzE1M2RmNTUy
OWUxNjMzZDNlYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFz
c0tpdFNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0
U29mdExpbmsuaApAQCAtMzIsMjQgKzMyLDI0IEBACiAKIFNPRlRfTElOS19GUkFNRVdPUktfRk9S
X0hFQURFUihQQUwsIFBhc3NLaXQpCiAKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
UGFzc0tpdCwgUEtDb250YWN0KQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNz
S2l0LCBQS1Bhc3NMaWJyYXJ5KQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNz
S2l0LCBQS1BheW1lbnQpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQs
IFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcikKLVNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50TWV0aG9kKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24pCi1TT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFJlcXVlc3QpCi1T
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFN1bW1hcnlJ
dGVtKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1NoaXBwaW5n
TWV0aG9kKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS0NvbnRhY3QpCitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGFzc0xpYnJhcnkpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyKQorU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRNZXRob2QpCitTT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihQQUwsIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbikKK1NPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVzdCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFBBTCwgUEtQYXltZW50U3VtbWFyeUl0ZW0pCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURF
UihQQUwsIFBLU2hpcHBpbmdNZXRob2QpCiAKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVS
KFBBTCwgUGFzc0tpdCwgUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyQW5k
RG9tYWluLCB2b2lkLCAoTlNTdHJpbmcgKmlkZW50aWZpZXIsIE5TU3RyaW5nICpkb21haW4sIFBL
Q2FuTWFrZVBheW1lbnRzQ29tcGxldGlvbiBjb21wbGV0aW9uKSwgKGlkZW50aWZpZXIsIGRvbWFp
biwgY29tcGxldGlvbikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLRHJhd0FwcGxlUGF5QnV0dG9uLCB2b2lkLCAoQ0dDb250ZXh0UmVmIGNvbnRleHQsIENH
UmVjdCBkcmF3UmVjdCwgQ0dGbG9hdCBzY2FsZSwgUEtQYXltZW50QnV0dG9uVHlwZSB0eXBlLCBQ
S1BheW1lbnRCdXR0b25TdHlsZSBzdHlsZSwgTlNTdHJpbmcgKmxhbmd1YWdlQ29kZSksIChjb250
ZXh0LCBkcmF3UmVjdCwgc2NhbGUsIHR5cGUsIHN0eWxlLCBsYW5ndWFnZUNvZGUpKQogCiAjaWYg
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMCkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFz
c0tpdCwgUEtQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCkKLVNPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUp
Ci1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFJlcXVl
c3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IFBhc3NLaXQsIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSkKK1NPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCkKK1NP
RlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRo
b2RVcGRhdGUpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudFJlcXVl
c3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSkKIAogU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS0NvbnRhY3RGaWVsZEVtYWlsQWRkcmVzcywg
UEtDb250YWN0RmllbGQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLQ29udGFjdEZpZWxkTmFtZSwgUEtDb250YWN0RmllbGQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmgKaW5kZXggNmFmMGJjZDFjM2NjMWNjMzBhYTNiOGRh
NjVhNDY0ODVhZTVjOTk2YS4uNTUyMTk0NGNlZDAzMWQ5MWIwOTdhZmM5ZjkyMmY1MTQ3ZjgzYzg3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvVUlLaXRTb2Z0TGluay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1VJS2l0U29mdExpbmsuaApAQCAtMzIs
MTIgKzMyLDEyIEBACiAKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURFUihQQUwsIFVJS2l0
KQogCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJS2l0LCBOU1BhcmFncmFwaFN0
eWxlKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgTlNTaGFkb3cpCi1T
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJS2l0LCBOU1RleHRMaXN0KQotU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlBcHBsaWNhdGlvbikKLVNPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlLaXQsIFVJU2NyZWVuKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlDb2xvcikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFBBTCwgTlNQYXJhZ3JhcGhTdHlsZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBB
TCwgTlNTaGFkb3cpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIE5TVGV4dExpc3Qp
CitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJQXBwbGljYXRpb24pCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFVJU2NyZWVuKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBVSUNvbG9yKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBV
SUtpdCwgVUlBY2Nlc3NpYmlsaXR5SXNHcmF5c2NhbGVFbmFibGVkLCBCT09MLCAodm9pZCksICgp
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgVUlBY2Nlc3NpYmls
aXR5SXNJbnZlcnRDb2xvcnNFbmFibGVkLCBCT09MLCAodm9pZCksICgpKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0KaW5kZXggYzk5OWRkNzE2Nzk2
NGUzMWE2N2JhNGU2ODA5OWZiYWM1MGM1N2JiYy4uMTAxY2NiOWIxODNiZTliNzE1ZDVjNWQ3Yjky
M2JhY2YxOGJlM2E3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9E
YXRhRGV0ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURl
dGVjdGlvbi5tbQpAQCAtNjQzLDcgKzY0Myw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRl
dGVjdENvbnRlbnRJblJhbmdlKFJlZlB0cjxSYW5nZT4mIGNvbnRleHRSYW5nZSwgRGF0YURlCiAg
ICAgaWYgKGxhc3RUZXh0Tm9kZVRvVXBkYXRlKQogICAgICAgICBsYXN0VGV4dE5vZGVUb1VwZGF0
ZS0+c2V0RGF0YShsYXN0Tm9kZUNvbnRlbnQpOwogICAgIAotICAgIHJldHVybiBbZ2V0X0RhdGFE
ZXRlY3RvcnNDb3JlX0REU2Nhbm5lclJlc3VsdENsYXNzKCkgcmVzdWx0c0Zyb21Db3JlUmVzdWx0
czpzY2FubmVyUmVzdWx0cy5nZXQoKV07CisgICAgcmV0dXJuIFtnZXRERFNjYW5uZXJSZXN1bHRD
bGFzcygpIHJlc3VsdHNGcm9tQ29yZVJlc3VsdHM6c2Nhbm5lclJlc3VsdHMuZ2V0KCldOwogfQog
CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0
cmlidXRlc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmli
dXRlc0NvY29hLm1tCmluZGV4IDRiYzQ1OGJmMDIyZjU5MjdlNGQ1NzYzNWIxNWFhZDBhNTJkZDM5
NjMuLmY2ZjkyYTRjOWQ0Zjk2YmFkODM5N2ZhMjNmYmQ1MjBlZGYyOTMwMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KQEAg
LTc2LDcgKzc2LDcgQEAgUmV0YWluUHRyPE5TVGV4dExpc3Q+IFRleHRMaXN0OjpjcmVhdGVUZXh0
TGlzdCgpIGNvbnN0CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIENsYXNzIHRleHRMaXN0Q2xhc3Mg
PSBOU1RleHRMaXN0LmNsYXNzOwogI2Vsc2UKLSAgICBDbGFzcyB0ZXh0TGlzdENsYXNzID0gUEFM
OjpnZXRfVUlLaXRfTlNUZXh0TGlzdENsYXNzKCk7CisgICAgQ2xhc3MgdGV4dExpc3RDbGFzcyA9
IFBBTDo6Z2V0TlNUZXh0TGlzdENsYXNzKCk7CiAjZW5kaWYKICAgICBhdXRvIHJlc3VsdCA9IGFk
b3B0TlMoW1t0ZXh0TGlzdENsYXNzIGFsbG9jXSBpbml0V2l0aE1hcmtlckZvcm1hdDpjb2NvYVRl
eHRMaXN0TWFya2VyTmFtZShzdHlsZSwgb3JkZXJlZCkgb3B0aW9uczowXSk7CiAgICAgW3Jlc3Vs
dCBzZXRTdGFydGluZ0l0ZW1OdW1iZXI6c3RhcnRpbmdJdGVtTnVtYmVyXTsKQEAgLTEwNiw3ICsx
MDYsNyBAQCBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBGb250QXR0cmlidXRlczo6Y3JlYXRlRGlj
dGlvbmFyeSgpIGNvbnN0CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIENsYXNzIHBhcmFncmFwaFN0
eWxlQ2xhc3MgPSBOU1BhcmFncmFwaFN0eWxlLmNsYXNzOwogI2Vsc2UKLSAgICBDbGFzcyBwYXJh
Z3JhcGhTdHlsZUNsYXNzID0gUEFMOjpnZXRfVUlLaXRfTlNQYXJhZ3JhcGhTdHlsZUNsYXNzKCk7
CisgICAgQ2xhc3MgcGFyYWdyYXBoU3R5bGVDbGFzcyA9IFBBTDo6Z2V0TlNQYXJhZ3JhcGhTdHls
ZUNsYXNzKCk7CiAjZW5kaWYKICAgICBhdXRvIHN0eWxlID0gYWRvcHROUyhbW3BhcmFncmFwaFN0
eWxlQ2xhc3MgZGVmYXVsdFBhcmFncmFwaFN0eWxlXSBtdXRhYmxlQ29weV0pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRTaGFkb3dDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udFNoYWRvd0NvY29hLm1tCmluZGV4IDFmNGYw
NzdiZmI2MjdhMTdlMzZiYmU5YTEzZTdlYTIwYzIyNjZhNjIuLjA0NThkMDYxNDZkYjUwZDgyNjA5
ZWY0OGUyMjExZTJhM2M5N2YxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Y29jb2EvRm9udFNoYWRvd0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvRm9udFNoYWRvd0NvY29hLm1tCkBAIC00MCw3ICs0MCw3IEBAIFJldGFpblB0cjxOU1NoYWRv
dz4gRm9udFNoYWRvdzo6Y3JlYXRlU2hhZG93KCkgY29uc3QKICNpZiBVU0UoQVBQS0lUKQogICAg
IGF1dG8gc2hhZG93ID0gYWRvcHROUyhbTlNTaGFkb3cgbmV3XSk7CiAjZWxpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQotICAgIGF1dG8gc2hhZG93ID0gYWRvcHROUyhbUEFMOjpnZXRfVUlLaXRfTlNT
aGFkb3dDbGFzcygpIG5ld10pOworICAgIGF1dG8gc2hhZG93ID0gYWRvcHROUyhbUEFMOjpnZXRO
U1NoYWRvd0NsYXNzKCkgbmV3XSk7CiAjZW5kaWYKICAgICBbc2hhZG93IHNldFNoYWRvd0NvbG9y
OnBsYXRmb3JtQ29sb3IoY29sb3IpXTsKICAgICBbc2hhZG93IHNldFNoYWRvd09mZnNldDpvZmZz
ZXRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURl
dGVjdG9yc0NvcmVTb2Z0TGluay5oCmluZGV4IGUwODY2ZWZkYWJjMGUwN2ZlMGM2Njg2NWFlZDhk
ZGY3ZGNjODE4NDQuLjc3OWZhYzViMDE0M2UzMzIzOWYzMGIyYTZjODRmMjM1MjMwMTIwMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3Jl
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0
b3JzQ29yZVNvZnRMaW5rLmgKQEAgLTMyLDcgKzMyLDcgQEAKIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNjYW5uZXJSZXN1bHQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJD
b3JlLCBERFNjYW5uZXJSZXN1bHQpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChE
RFNjYW5uZXJUeXBlIHR5cGUsIEREU2Nhbm5lck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiAq
IGVycm9yUmVmKSwgKHR5cGUsIG9wdGlvbnMsIGVycm9yUmVmKSkKIFNPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJTY2FuUXVl
cnksIEJvb2xlYW4sIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FuUXVlcnlSZWYgcXVlcnkp
LCAoc2Nhbm5lciwgcXVlcnkpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5Q3JlYXRlLCBERFNjYW5RdWVyeVJlZiwg
KENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciksIChhbGxvY2F0b3IpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0NvbG9yQ29jb2EubW0KaW5kZXggZmYy
NjkyY2QyOWQxMTAxMTZkZGRmYjNhMjNmMmRiMTExYTNiNTkyYS4uOTU3NzcwMTA2MGQ0ODIwMDEz
NDQyMWZhMGY4NmEwMGQzY2I2OGU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Db2xvckNvY29hLm1tCkBAIC00OCw3ICs0OCw3IEBAIE5TQ29s
b3IgKnBsYXRmb3JtQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogCiBVSUNvbG9yICpwbGF0Zm9y
bUNvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICByZXR1cm4gW1BBTDo6Z2V0X1VJS2l0
X1VJQ29sb3JDbGFzcygpIF9kaXNhbWJpZ3VhdGVkX2R1ZV90b19DSUltYWdlX2NvbG9yV2l0aENH
Q29sb3I6Y2FjaGVkQ0dDb2xvcihjb2xvcildOworICAgIHJldHVybiBbUEFMOjpnZXRVSUNvbG9y
Q2xhc3MoKSBfZGlzYW1iaWd1YXRlZF9kdWVfdG9fQ0lJbWFnZV9jb2xvcldpdGhDR0NvbG9yOmNh
Y2hlZENHQ29sb3IoY29sb3IpXTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KaW5kZXggOWQyZWJkNDk0YjdjYTgyZjJk
ZmFjNGI5NzA2ODNjZjI3NjE4ZGM2Zi4uNDFhZGMyYThmYTMyODUwZjVmNDdmYzIzZjlhMjU0ODY3
NTM3MjNlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3Jt
U2NyZWVuSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNj
cmVlbklPUy5tbQpAQCAtMTI5LDE2ICsxMjksMTYgQEAgZmxvYXQgc2NyZWVuUFBJRmFjdG9yKCkK
IAogRmxvYXRTaXplIHNjcmVlblNpemUoKQogewotICAgIGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJp
bGl0eSgpICYmIFtbUEFMOjpnZXRfVUlLaXRfVUlBcHBsaWNhdGlvbkNsYXNzKCkgc2hhcmVkQXBw
bGljYXRpb25dIF9pc0NsYXNzaWNdKQorICAgIGlmIChkZXZpY2VIYXNJUGFkQ2FwYWJpbGl0eSgp
ICYmIFtbUEFMOjpnZXRVSUFwcGxpY2F0aW9uQ2xhc3MoKSBzaGFyZWRBcHBsaWNhdGlvbl0gX2lz
Q2xhc3NpY10pCiAgICAgICAgIHJldHVybiB7IDMyMCwgNDgwIH07Ci0gICAgcmV0dXJuIEZsb2F0
U2l6ZShbW1BBTDo6Z2V0X1VJS2l0X1VJU2NyZWVuQ2xhc3MoKSBtYWluU2NyZWVuXSBfcmVmZXJl
bmNlQm91bmRzXS5zaXplKTsKKyAgICByZXR1cm4gRmxvYXRTaXplKFtbUEFMOjpnZXRVSVNjcmVl
bkNsYXNzKCkgbWFpblNjcmVlbl0gX3JlZmVyZW5jZUJvdW5kc10uc2l6ZSk7CiB9CiAKIEZsb2F0
U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplKCkKIHsKLSAgICBpZiAoZGV2aWNlSGFzSVBhZENhcGFi
aWxpdHkoKSAmJiBbW1BBTDo6Z2V0X1VJS2l0X1VJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFw
cGxpY2F0aW9uXSBfaXNDbGFzc2ljXSkKKyAgICBpZiAoZGV2aWNlSGFzSVBhZENhcGFiaWxpdHko
KSAmJiBbW1BBTDo6Z2V0VUlBcHBsaWNhdGlvbkNsYXNzKCkgc2hhcmVkQXBwbGljYXRpb25dIF9p
c0NsYXNzaWNdKQogICAgICAgICByZXR1cm4geyAzMjAsIDQ4MCB9OwotICAgIHJldHVybiBGbG9h
dFNpemUoW1BBTDo6Z2V0X1VJS2l0X1VJU2NyZWVuQ2xhc3MoKSBtYWluU2NyZWVuXS5ib3VuZHMu
c2l6ZSk7CisgICAgcmV0dXJuIEZsb2F0U2l6ZShbUEFMOjpnZXRVSVNjcmVlbkNsYXNzKCkgbWFp
blNjcmVlbl0uYm91bmRzLnNpemUpOwogfQogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykg
JiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL1BsYXRmb3JtU2NyZWVuSU9TLm1tPikK
QEAgLTE1Myw3ICsxNTMsNyBAQCBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkKIGZsb2F0
IHNjcmVlblNjYWxlRmFjdG9yKFVJU2NyZWVuICpzY3JlZW4pCiB7CiAgICAgaWYgKCFzY3JlZW4p
Ci0gICAgICAgIHNjcmVlbiA9IFtQQUw6OmdldF9VSUtpdF9VSVNjcmVlbkNsYXNzKCkgbWFpblNj
cmVlbl07CisgICAgICAgIHNjcmVlbiA9IFtQQUw6OmdldFVJU2NyZWVuQ2xhc3MoKSBtYWluU2Ny
ZWVuXTsKIAogICAgIHJldHVybiBzY3JlZW4uc2NhbGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4
IGQwZTM3NDUyMDZkZDk4YWI3NGI2ZjRkMTU1Yjg4Mjc2ZGE1ODZlMjAuLjE2NDlkMmVjODE4YWQ4
Y2RiNDQ4NGZjNGQ2MzNjODEyNmI4Nzg0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC01NSw3ICs1
NSw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50Pjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIFdlYkNvcmU6OlBheW1lbnQmCiAgICAgYXV0byBkYXRhID0gYWRvcHROUyhb
W05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlc05vQ29weTpjb25zdF9jYXN0PHZvaWQqPihzdGF0
aWNfY2FzdDxjb25zdCB2b2lkKj4oZGF0YVJlZmVyZW5jZS5kYXRhKCkpKSBsZW5ndGg6ZGF0YVJl
ZmVyZW5jZS5zaXplKCkgZnJlZVdoZW5Eb25lOk5PXSk7CiAgICAgYXV0byB1bmFyY2hpdmVyID0g
c2VjdXJlVW5hcmNoaXZlckZyb21EYXRhKGRhdGEuZ2V0KCkpOwogICAgIEB0cnkgewotICAgICAg
ICBQS1BheW1lbnQgKnBrUGF5bWVudCA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVjdE9mQ2xhc3M6
UEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRDbGFzcygpIGZvcktleTpOU0tleWVkQXJjaGl2ZVJv
b3RPYmplY3RLZXldOworICAgICAgICBQS1BheW1lbnQgKnBrUGF5bWVudCA9IFt1bmFyY2hpdmVy
IGRlY29kZU9iamVjdE9mQ2xhc3M6UEFMOjpnZXRQS1BheW1lbnRDbGFzcygpIGZvcktleTpOU0tl
eWVkQXJjaGl2ZVJvb3RPYmplY3RLZXldOwogICAgICAgICBwYXltZW50ID0gUGF5bWVudChwa1Bh
eW1lbnQpOwogICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CiAgICAgICAg
IExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBQS1BheW1lbnQ6ICVAIiwgZXhjZXB0aW9uKTsK
QEAgLTEwNiw3ICsxMDYsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudENv
bnRhY3Q+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6UAogICAgIGF1dG8gZGF0
YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2Fz
dDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KGRhdGFSZWZlcmVuY2UuZGF0YSgpKSkg
bGVuZ3RoOmRhdGFSZWZlcmVuY2Uuc2l6ZSgpIGZyZWVXaGVuRG9uZTpOT10pOwogICAgIGF1dG8g
dW5hcmNoaXZlciA9IHNlY3VyZVVuYXJjaGl2ZXJGcm9tRGF0YShkYXRhLmdldCgpKTsKICAgICBA
dHJ5IHsKLSAgICAgICAgUEtDb250YWN0ICpwa0NvbnRhY3QgPSBbdW5hcmNoaXZlciBkZWNvZGVP
YmplY3RPZkNsYXNzOlBBTDo6Z2V0X1Bhc3NLaXRfUEtDb250YWN0Q2xhc3MoKSBmb3JLZXk6TlNL
ZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKKyAgICAgICAgUEtDb250YWN0ICpwa0NvbnRhY3Qg
PSBbdW5hcmNoaXZlciBkZWNvZGVPYmplY3RPZkNsYXNzOlBBTDo6Z2V0UEtDb250YWN0Q2xhc3Mo
KSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKICAgICAgICAgcGF5bWVudENv
bnRhY3QgPSBQYXltZW50Q29udGFjdChwa0NvbnRhY3QpOwogICAgIH0gQGNhdGNoIChOU0V4Y2Vw
dGlvbiAqZXhjZXB0aW9uKSB7CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBQ
S0NvbnRhY3Q6ICVAIiwgZXhjZXB0aW9uKTsKQEAgLTE2Myw3ICsxNjMsNyBAQCBib29sIEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vzc2lvbj46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBXZQogICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGlu
aXRXaXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9p
ZCo+KGRhdGFSZWZlcmVuY2UuZGF0YSgpKSkgbGVuZ3RoOmRhdGFSZWZlcmVuY2Uuc2l6ZSgpIGZy
ZWVXaGVuRG9uZTpOT10pOwogICAgIGF1dG8gdW5hcmNoaXZlciA9IHNlY3VyZVVuYXJjaGl2ZXJG
cm9tRGF0YShkYXRhLmdldCgpKTsKICAgICBAdHJ5IHsKLSAgICAgICAgUEtQYXltZW50TWVyY2hh
bnRTZXNzaW9uICpwa1BheW1lbnRNZXJjaGFudFNlc3Npb24gPSBbdW5hcmNoaXZlciBkZWNvZGVP
YmplY3RPZkNsYXNzOlBBTDo6Z2V0X1Bhc3NLaXRfUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uQ2xh
c3MoKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKKyAgICAgICAgUEtQYXlt
ZW50TWVyY2hhbnRTZXNzaW9uICpwa1BheW1lbnRNZXJjaGFudFNlc3Npb24gPSBbdW5hcmNoaXZl
ciBkZWNvZGVPYmplY3RPZkNsYXNzOlBBTDo6Z2V0UEtQYXltZW50TWVyY2hhbnRTZXNzaW9uQ2xh
c3MoKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKICAgICAgICAgcGF5bWVu
dE1lcmNoYW50U2Vzc2lvbiA9IFBheW1lbnRNZXJjaGFudFNlc3Npb24ocGtQYXltZW50TWVyY2hh
bnRTZXNzaW9uKTsKICAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewogICAg
ICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgUEtQYXltZW50TWVyY2hhbnRTZXNzaW9u
OiAlQCIsIGV4Y2VwdGlvbik7CkBAIC0xOTMsNyArMTkzLDcgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OlBheW1lbnRNZXRob2Q+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29y
ZTo6UGEKICAgICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5
dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihkYXRh
UmVmZXJlbmNlLmRhdGEoKSkpIGxlbmd0aDpkYXRhUmVmZXJlbmNlLnNpemUoKSBmcmVlV2hlbkRv
bmU6Tk9dKTsKICAgICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEo
ZGF0YS5nZXQoKSk7CiAgICAgQHRyeSB7Ci0gICAgICAgIFBLUGF5bWVudE1ldGhvZCAqcGtQYXlt
ZW50TWV0aG9kID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzczpQQUw6OmdldF9QYXNz
S2l0X1BLUGF5bWVudE1ldGhvZENsYXNzKCkgZm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVj
dEtleV07CisgICAgICAgIFBLUGF5bWVudE1ldGhvZCAqcGtQYXltZW50TWV0aG9kID0gW3VuYXJj
aGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzczpQQUw6OmdldFBLUGF5bWVudE1ldGhvZENsYXNzKCkg
Zm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CiAgICAgICAgIHBheW1lbnRNZXRo
b2QgPSBQYXltZW50TWV0aG9kKHBrUGF5bWVudE1ldGhvZCk7CiAgICAgfSBAY2F0Y2ggKE5TRXhj
ZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZGVjb2Rl
IFBLUGF5bWVudDogJUAiLCBleGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXggYzk0YTVmMGM0MzdiYmU1YTM0MjVkMmE4MjMyMGQ0
YzdmZGFkYzljYi4uMDU2ZDVjM2Y0YTUzOTRkM2NmNWRlZDZkNmRiNTRmMGY4NjY0YTkzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC04NCw3
ICs4NCw3IEBAIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjooUEtQ
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyCiAgICAgQVNTRVJUKCFfc2Vzc2lvbkJs
b2NrKTsKICAgICBfc2Vzc2lvbkJsb2NrID0gc2Vzc2lvbkJsb2NrOwogCi0gICAgW1BBTDo6Z2V0
X1Bhc3NLaXRfUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBwYXlt
ZW50U2VydmljZXNNZXJjaGFudFVSTDpeKE5TVVJMICptZXJjaGFudFVSTCwgTlNFcnJvciAqZXJy
b3IpIHsKKyAgICBbUEFMOjpnZXRQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJD
bGFzcygpIHBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMOl4oTlNVUkwgKm1lcmNoYW50VVJMLCBO
U0Vycm9yICplcnJvcikgewogICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICBMT0dfRVJS
T1IoIlBLQ2FuTWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRlbnRpZmllckFuZERvbWFpbiBlcnJv
ciAlQCIsIGVycm9yKTsKIApAQCAtMjU4LDcgKzI1OCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXltZW50
cygpCiB7Ci0gICAgcmV0dXJuIFtQQUw6OmdldF9QYXNzS2l0X1BLUGF5bWVudEF1dGhvcml6YXRp
b25WaWV3Q29udHJvbGxlckNsYXNzKCkgY2FuTWFrZVBheW1lbnRzXTsKKyAgICByZXR1cm4gW1BB
TDo6Z2V0UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBjYW5NYWtl
UGF5bWVudHNdOwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9y
bUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC0zNTAsNyArMzUwLDcgQEAgc3RhdGljIE5TRGVj
aW1hbE51bWJlciAqdG9EZWNpbWFsTnVtYmVyKGNvbnN0IFN0cmluZyYgYW1vdW50KQogCiBzdGF0
aWMgUmV0YWluUHRyPFBLUGF5bWVudFN1bW1hcnlJdGVtPiB0b1BLUGF5bWVudFN1bW1hcnlJdGVt
KGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpMaW5lSXRlbSYg
bGluZUl0ZW0pCiB7Ci0gICAgcmV0dXJuIFtQQUw6OmdldF9QYXNzS2l0X1BLUGF5bWVudFN1bW1h
cnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6
dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJ
dGVtVHlwZShsaW5lSXRlbS50eXBlKV07CisgICAgcmV0dXJuIFtQQUw6OmdldFBLUGF5bWVudFN1
bW1hcnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91
bnQ6dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1h
cnlJdGVtVHlwZShsaW5lSXRlbS50eXBlKV07CiB9CiAKIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJh
eT4gdG9QS1BheW1lbnRTdW1tYXJ5SXRlbXMoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zJiB0b3RhbEFuZExpbmVJdGVtcykKQEAg
LTQwOSw3ICs0MDksNyBAQCBzdGF0aWMgUEtTaGlwcGluZ1R5cGUgdG9QS1NoaXBwaW5nVHlwZShX
ZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6UwogCiBzdGF0aWMgUmV0YWlu
UHRyPFBLU2hpcHBpbmdNZXRob2Q+IHRvUEtTaGlwcGluZ01ldGhvZChjb25zdCBXZWJDb3JlOjpB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmIHNoaXBwaW5nTWV0
aG9kKQogewotICAgIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiByZXN1bHQgPSBbUEFMOjpn
ZXRfUGFzc0tpdF9QS1NoaXBwaW5nTWV0aG9kQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpz
aGlwcGluZ01ldGhvZC5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKHNoaXBwaW5nTWV0aG9k
LmFtb3VudCldOworICAgIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiByZXN1bHQgPSBbUEFM
OjpnZXRQS1NoaXBwaW5nTWV0aG9kQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpzaGlwcGlu
Z01ldGhvZC5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKHNoaXBwaW5nTWV0aG9kLmFtb3Vu
dCldOwogICAgIFtyZXN1bHQgc2V0SWRlbnRpZmllcjpzaGlwcGluZ01ldGhvZC5pZGVudGlmaWVy
XTsKICAgICBbcmVzdWx0IHNldERldGFpbDpzaGlwcGluZ01ldGhvZC5kZXRhaWxdOwogCkBAIC03
OTgsNyArNzk4LDcgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1D
b21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3QKIAogVmVjdG9yPFN0cmluZz4g
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQXZhaWxhYmxlUGF5bWVudE5ldHdv
cmtzKCkKIHsKLSAgICBOU0FycmF5PFBLUGF5bWVudE5ldHdvcms+ICphdmFpbGFibGVOZXR3b3Jr
cyA9IFtQQUw6OmdldF9QYXNzS2l0X1BLUGF5bWVudFJlcXVlc3RDbGFzcygpIGF2YWlsYWJsZU5l
dHdvcmtzXTsKKyAgICBOU0FycmF5PFBLUGF5bWVudE5ldHdvcms+ICphdmFpbGFibGVOZXR3b3Jr
cyA9IFtQQUw6OmdldFBLUGF5bWVudFJlcXVlc3RDbGFzcygpIGF2YWlsYWJsZU5ldHdvcmtzXTsK
ICAgICBWZWN0b3I8U3RyaW5nPiByZXN1bHQ7CiAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkoYXZhaWxhYmxlTmV0d29ya3MuY291bnQpOwogICAgIGZvciAoUEtQYXltZW50TmV0d29y
ayBuZXR3b3JrIGluIGF2YWlsYWJsZU5ldHdvcmtzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5TWFjLm1tCmluZGV4IDJlOTljYjE0NzcyMzc1YTRlODdjMjlmNTcyYWZlOTc1Y2Zh
MTg2MTEuLmJkODMwYzYyNDRkZGY1NjljNTE4NWRiZTliNzUwMzYwMGM5YzdjNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9t
YWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNYWMubW0KQEAgLTQxLDcgKzQxLDcgQEAgdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1TaG93UGF5bWVudFVJKGNvbnN0
IFdlYkNvcmU6OlVSTCYgb3JpZ2kKIAogICAgIGF1dG8gc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVk
ID0gbV9zaG93UGF5bWVudFVJUmVxdWVzdFNlZWQ7CiAgICAgYXV0byB3ZWFrVGhpcyA9IG1ha2VX
ZWFrUHRyKCp0aGlzKTsKLSAgICBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXJDbGFzcygpIHJlcXVlc3RWaWV3Q29udHJvbGxlcldpdGhQYXltZW50
UmVxdWVzdDpwYXltZW50UmVxdWVzdC5nZXQoKSBjb21wbGV0aW9uOkJsb2NrUHRyPHZvaWQoUEtQ
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICosIE5TRXJyb3IgKik+Ojpmcm9tQ2Fs
bGFibGUoW3BheW1lbnRSZXF1ZXN0LCBzaG93UGF5bWVudFVJUmVxdWVzdFNlZWQsIHdlYWtUaGlz
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShQS1BheW1l
bnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKnZpZXdDb250cm9sbGVyLCBOU0Vycm9yICpl
cnJvcikgeworICAgIFtQQUw6OmdldFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxl
ckNsYXNzKCkgcmVxdWVzdFZpZXdDb250cm9sbGVyV2l0aFBheW1lbnRSZXF1ZXN0OnBheW1lbnRS
ZXF1ZXN0LmdldCgpIGNvbXBsZXRpb246QmxvY2tQdHI8dm9pZChQS1BheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXIgKiwgTlNFcnJvciAqKT46OmZyb21DYWxsYWJsZShbcGF5bWVudFJl
cXVlc3QsIHNob3dQYXltZW50VUlSZXF1ZXN0U2VlZCwgd2Vha1RoaXMsIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFBLUGF5bWVudEF1dGhvcml6YXRpb25W
aWV3Q29udHJvbGxlciAqdmlld0NvbnRyb2xsZXIsIE5TRXJyb3IgKmVycm9yKSB7CiAgICAgICAg
IGF1dG8gcGF5bWVudENvb3JkaW5hdG9yUHJveHkgPSB3ZWFrVGhpcy5nZXQoKTsKICAgICAgICAg
aWYgKCFwYXltZW50Q29vcmRpbmF0b3JQcm94eSkKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355565</attachid>
            <date>2018-11-24 09:59:30 -0800</date>
            <delta_ts>2018-11-24 10:37:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191899-20181124095921.patch</filename>
            <type>text/plain</type>
            <size>23533</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI2OTVhOTU4ZTg4NzIyMTI3ODViOGQ3
MTQxMGE0ZDgzYzA1MDNjNWIuLmQyYmUyYjRjZDRkMTViMzVmMjFkMTlmOWU0ODNlNTMwZDk5Mzc0
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVS
LFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEN1cnJlbnRseSwg
U09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIgZGVjbGFyZXMgYSBjbGFzcyBnZXR0ZXIgZnVuY3Rp
b24gdGhhdCBpbmNsdWRlcyB0aGUKKyAgICAgICAgZnJhbWV3b3JrIG5hbWUuIEZvciBleGFtcGxl
LCBOU1ZpZXcgd291bGQgaGF2ZSBhIGNsYXNzIGdldHRlciBuYW1lZAorICAgICAgICBuYW1lc3Bh
Y2U6OmdldF9BcHBLaXRfTlNWaWV3Q2xhc3MoKS4KKworICAgICAgICBJbmNsdWRpbmcgdGhlIGZy
YW1ld29yayBuYW1lIGluIHRoZSBnZXR0ZXIgaXMgdW5uZWNlc3NhcnkuIE9iamVjdGl2ZS1DIGNs
YXNzZXMgYWxyZWFkeSBleGlzdAorICAgICAgICBpbiBhIGdsb2JhbCBuYW1lc3BhY2UsIHNvIHRo
ZXJlIGlzIG5vIG5lZWQgdG8gZGlzYW1iaWd1YXRlIGNsYXNzIG5hbWVzIGJ5IGZyYW1ld29yay4g
VGhpcworICAgICAgICBwYXRjaCBlbGlkZXMgdGhlIGZyYW1ld29yayBuYW1lIGZyb20gdGhlIGdl
dHRlciBmdW5jdGlvbi4gRm9yIGV4YW1wbGUsIE5TVmlldyB3b3VsZCBub3cgaGF2ZQorICAgICAg
ICBhIGdldHRlciBuYW1lZCBuYW1lc3BhY2U6OmdldE5TVmlld0NsYXNzKCkuCisKKyAgICAgICAg
KiB3dGYvY29jb2EvU29mdExpbmtpbmcuaDoKKwogMjAxOC0xMS0yNCAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQ1JBU0goKSBzaG91bGQgY2Fs
bCBhYm9ydCgpIGV4Y2VwdCBvbiBEYXJ3aW4gYW5kIGluIGRldmVsb3BlciBidWlsZHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA2NjM0N2FmZTEwOTI3Mzc4NWQyNDFjNzBkZWM4Y2NkNGRhMWE0MmFhLi4zMTc3OGE0
YmJiOWY2NjY4YjBjMWE4MTI5NWFiOGM0ZDAwNjI5N2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTgtMTEtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIFtDb2NvYV0gU09GVF9MSU5LX0NMQVNTX0ZPUl97SEVBREVSLFNPVVJDRX0gc2hvdWxkIGdl
bmVyYXRlIGEgbW9yZSBjb25jaXNlIGdldHRlciBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9u
Lm1tOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0ZXNDb2NvYS5tbToKKyAg
ICAgICAgKiBlZGl0aW5nL2NvY29hL0ZvbnRTaGFkb3dDb2NvYS5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1TY3JlZW5JT1MubW06CisKIDIwMTgtMTEtMjMgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aE5dIEVuYWJsZSBXZWIgQXV0aGVudGlj
YXRpb24gYXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwppbmRleCBhNjMzZTdmZjNmNzIwMTQzNDQ4ZmQ2ZGYxNjliYTAzNjNhNGI4MTRhLi5kNzBhMDk1
NjU1ZTBjMzQzOTM5MjVjZjczMWE1NTEzZDk0NmQwMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOC0xMS0yMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0NvY29hXSBTT0ZUX0xJTktfQ0xBU1NfRk9SX3tIRUFERVIsU09VUkNFfSBz
aG91bGQgZ2VuZXJhdGUgYSBtb3JlIGNvbmNpc2UgZ2V0dGVyIGZ1bmN0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE4OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNv
ZnRMaW5rLmg6CisgICAgICAgICogcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmg6CisKIDIwMTgtMTEt
MjMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRW5h
YmxlIGRyYWcgYW5kIGRyb3Agc3VwcG9ydCBmb3IgaU9TTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyOWJkNTFm
NzlkN2Q1YjY0ZTMwMWE5YTU3NWIxYTE0OGJjNzg0ZmEuLmE3ZTJhNWZlMzhhY2MxNWM3NjY4YzI3
MWY5Y2I5ZWZkMjExMzA4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTEtMjEg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gU09GVF9M
SU5LX0NMQVNTX0ZPUl97SEVBREVSLFNPVVJDRX0gc2hvdWxkIGdlbmVyYXRlIGEgbW9yZSBjb25j
aXNlIGdldHRlciBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgor
CisgICAgICAgICogU2hhcmVkL2NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW06CisKIDIwMTgtMTEtMjMgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgTGF5ZXJPclZpZXcgdHlwZWRlZiB3
aXRoIGEgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1NvZnRMaW5raW5n
LmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCmluZGV4IDdmZGM0ZTllODQy
NWY3YjMwOWM1MmM4NzJkOWRkOWZhOWM0OWQ0M2YuLjY0MzRjYmRlMzZhODAxMTA5YmM3Yjc4MmQ0
ZmMzODA5ZTYwMTYzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1NvZnRMaW5r
aW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaApAQCAtMzc4LDE0
ICszNzgsMTQgQEAKICNkZWZpbmUgU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX0ZPUl9TT1VS
Q0UoZnVuY3Rpb25OYW1lc3BhY2UsIGZyYW1ld29yaykgXAogICAgIFNPRlRfTElOS19QUklWQVRF
X0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKGZ1bmN0aW9uTmFtZXNwYWNlLCBmcmFt
ZXdvcmssICkKIAotI2RlZmluZSBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihmdW5jdGlvbk5h
bWVzcGFjZSwgZnJhbWV3b3JrLCBjbGFzc05hbWUpIFwKKyNkZWZpbmUgU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoZnVuY3Rpb25OYW1lc3BhY2UsIGNsYXNzTmFtZSkgXAogICAgIEBjbGFzcyBj
bGFzc05hbWU7IFwKICAgICBuYW1lc3BhY2UgZnVuY3Rpb25OYW1lc3BhY2UgeyBcCi0gICAgZXh0
ZXJuIENsYXNzICgqZ2V0XyMjZnJhbWV3b3JrIyNfIyNjbGFzc05hbWUjI0NsYXNzKSgpOyBcCisg
ICAgZXh0ZXJuIENsYXNzICgqZ2V0IyNjbGFzc05hbWUjI0NsYXNzKSgpOyBcCiAgICAgY2xhc3NO
YW1lICphbGxvYyMjY2xhc3NOYW1lIyNJbnN0YW5jZSgpOyBcCiAgICAgaW5saW5lIGNsYXNzTmFt
ZSAqYWxsb2MjI2NsYXNzTmFtZSMjSW5zdGFuY2UoKSBcCiAgICAgeyBcCi0gICAgICAgIHJldHVy
biBbZ2V0XyMjZnJhbWV3b3JrIyNfIyNjbGFzc05hbWUjI0NsYXNzKCkgYWxsb2NdOyBcCisgICAg
ICAgIHJldHVybiBbZ2V0IyNjbGFzc05hbWUjI0NsYXNzKCkgYWxsb2NdOyBcCiAgICAgfSBcCiAg
ICAgfQogCkBAIC0zOTMsNyArMzkzLDcgQEAKICAgICBAY2xhc3MgY2xhc3NOYW1lOyBcCiAgICAg
bmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsgXAogICAgIHN0YXRpYyBDbGFzcyBpbml0IyNj
bGFzc05hbWUoKTsgXAotICAgIGV4cG9ydCBDbGFzcyAoKmdldF8jI2ZyYW1ld29yayMjXyMjY2xh
c3NOYW1lIyNDbGFzcykoKSA9IGluaXQjI2NsYXNzTmFtZTsgXAorICAgIGV4cG9ydCBDbGFzcyAo
KmdldCMjY2xhc3NOYW1lIyNDbGFzcykoKSA9IGluaXQjI2NsYXNzTmFtZTsgXAogICAgIHN0YXRp
YyBDbGFzcyBjbGFzcyMjY2xhc3NOYW1lOyBcCiAgICAgXAogICAgIHN0YXRpYyBDbGFzcyBjbGFz
c05hbWUjI0Z1bmN0aW9uKCkgXApAQCAtNDA4LDcgKzQwOCw3IEBACiAgICAgICAgICAgICBmcmFt
ZXdvcmsjI0xpYnJhcnkoKTsgXAogICAgICAgICAgICAgY2xhc3MjI2NsYXNzTmFtZSA9IG9iamNf
Z2V0Q2xhc3MoI2NsYXNzTmFtZSk7IFwKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNz
IyNjbGFzc05hbWUpOyBcCi0gICAgICAgICAgICBnZXRfIyNmcmFtZXdvcmsjI18jI2NsYXNzTmFt
ZSMjQ2xhc3MgPSBjbGFzc05hbWUjI0Z1bmN0aW9uOyBcCisgICAgICAgICAgICBnZXQjI2NsYXNz
TmFtZSMjQ2xhc3MgPSBjbGFzc05hbWUjI0Z1bmN0aW9uOyBcCiAgICAgICAgIH0pOyBcCiAgICAg
ICAgIHJldHVybiBjbGFzcyMjY2xhc3NOYW1lOyBcCiAgICAgfSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAppbmRleCA4NTMwMGY4YTM2ZjEyNzZm
OWEzZDk0MjU2YjQ1ZmY3ZTNlYWQ5ZDUzLi5jMDg3NDg5NTU2NTFkOWNjM2I3ZjMxNTNkZjU1Mjll
MTYzM2QzZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NL
aXRTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNv
ZnRMaW5rLmgKQEAgLTMyLDI0ICszMiwyNCBAQAogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9I
RUFERVIoUEFMLCBQYXNzS2l0KQogCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBh
c3NLaXQsIFBLQ29udGFjdCkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tp
dCwgUEtQYXNzTGlicmFyeSkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tp
dCwgUEtQYXltZW50KQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQ
S1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIpCi1TT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudE1ldGhvZCkKLVNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uKQotU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0KQotU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTdW1tYXJ5SXRl
bSkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtTaGlwcGluZ01l
dGhvZCkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtDb250YWN0KQorU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1Bhc3NMaWJyYXJ5KQorU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnQpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQ
QUwsIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcikKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50TWV0aG9kKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24pCitTT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihQQUwsIFBLUGF5bWVudFJlcXVlc3QpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURF
UihQQUwsIFBLUGF5bWVudFN1bW1hcnlJdGVtKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIo
UEFMLCBQS1NoaXBwaW5nTWV0aG9kKQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQ
QUwsIFBhc3NLaXQsIFBLQ2FuTWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRlbnRpZmllckFuZERv
bWFpbiwgdm9pZCwgKE5TU3RyaW5nICppZGVudGlmaWVyLCBOU1N0cmluZyAqZG9tYWluLCBQS0Nh
bk1ha2VQYXltZW50c0NvbXBsZXRpb24gY29tcGxldGlvbiksIChpZGVudGlmaWVyLCBkb21haW4s
IGNvbXBsZXRpb24pKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0
LCBQS0RyYXdBcHBsZVBheUJ1dHRvbiwgdm9pZCwgKENHQ29udGV4dFJlZiBjb250ZXh0LCBDR1Jl
Y3QgZHJhd1JlY3QsIENHRmxvYXQgc2NhbGUsIFBLUGF5bWVudEJ1dHRvblR5cGUgdHlwZSwgUEtQ
YXltZW50QnV0dG9uU3R5bGUgc3R5bGUsIE5TU3RyaW5nICpsYW5ndWFnZUNvZGUpLCAoY29udGV4
dCwgZHJhd1JlY3QsIHNjYWxlLCB0eXBlLCBzdHlsZSwgbGFuZ3VhZ2VDb2RlKSkKIAogI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDApCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hF
QURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlKQot
U09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0
U2hpcHBpbmdDb250YWN0VXBkYXRlKQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQ
YXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQpCitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9k
VXBkYXRlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRSZXF1ZXN0
U2hpcHBpbmdDb250YWN0VXBkYXRlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQ
S1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUpCiAKIFNPRlRfTElOS19DT05TVEFO
VF9GT1JfSEVBREVSKFBBTCwgUGFzc0tpdCwgUEtDb250YWN0RmllbGRFbWFpbEFkZHJlc3MsIFBL
Q29udGFjdEZpZWxkKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0
LCBQS0NvbnRhY3RGaWVsZE5hbWUsIFBLQ29udGFjdEZpZWxkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9pb3MvVUlLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9pb3MvVUlLaXRTb2Z0TGluay5oCmluZGV4IDZhZjBiY2QxYzNjYzFjYzMwYWEzYjhkYTY1
YTQ2NDg1YWU1Yzk5NmEuLjU1MjE5NDRjZWQwMzFkOTFiMDk3YWZjOWY5MjJmNTE0N2Y4M2M4NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1VJS2l0U29mdExpbmsuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9VSUtpdFNvZnRMaW5rLmgKQEAgLTMyLDEy
ICszMiwxMiBAQAogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCkK
IAotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgTlNQYXJhZ3JhcGhTdHls
ZSkKLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlLaXQsIE5TU2hhZG93KQotU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUtpdCwgTlNUZXh0TGlzdCkKLVNPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgVUlLaXQsIFVJQXBwbGljYXRpb24pCi1TT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIFVJS2l0LCBVSVNjcmVlbikKLVNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgVUlLaXQsIFVJQ29sb3IpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURF
UihQQUwsIE5TUGFyYWdyYXBoU3R5bGUpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IE5TU2hhZG93KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBOU1RleHRMaXN0KQor
U09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSUFwcGxpY2F0aW9uKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBVSVNjcmVlbikKK1NPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSKFBBTCwgVUlDb2xvcikKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgVUlL
aXQsIFVJQWNjZXNzaWJpbGl0eUlzR3JheXNjYWxlRW5hYmxlZCwgQk9PTCwgKHZvaWQpLCAoKSkK
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgVUlLaXQsIFVJQWNjZXNzaWJpbGl0
eUlzSW52ZXJ0Q29sb3JzRW5hYmxlZCwgQk9PTCwgKHZvaWQpLCAoKSkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCmluZGV4IGM5OTlkZDcxNjc5NjRl
MzFhNjdiYTRlNjgwOTlmYmFjNTBjNTdiYmMuLjEwMWNjYjliMTgzYmU5YjcxNWQ1YzVkN2I5MjNi
YWNmMThiZTNhNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0
YURldGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRl
Y3Rpb24ubW0KQEAgLTY0Myw3ICs2NDMsNyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRl
Y3RDb250ZW50SW5SYW5nZShSZWZQdHI8UmFuZ2U+JiBjb250ZXh0UmFuZ2UsIERhdGFEZQogICAg
IGlmIChsYXN0VGV4dE5vZGVUb1VwZGF0ZSkKICAgICAgICAgbGFzdFRleHROb2RlVG9VcGRhdGUt
PnNldERhdGEobGFzdE5vZGVDb250ZW50KTsKICAgICAKLSAgICByZXR1cm4gW2dldF9EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5uZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNGcm9tQ29yZVJlc3VsdHM6
c2Nhbm5lclJlc3VsdHMuZ2V0KCldOworICAgIHJldHVybiBbZ2V0RERTY2FubmVyUmVzdWx0Q2xh
c3MoKSByZXN1bHRzRnJvbUNvcmVSZXN1bHRzOnNjYW5uZXJSZXN1bHRzLmdldCgpXTsKIH0KIAog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJp
YnV0ZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRm9udEF0dHJpYnV0
ZXNDb2NvYS5tbQppbmRleCA0YmM0NThiZjAyMmY1OTI3ZTRkNTc2MzViMTVhYWQwYTUyZGQzOTYz
Li5mNmY5MmE0YzlkNGY5NmJhZDgzOTdmYTIzZmJkNTIwZWRmMjkzMDI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRBdHRyaWJ1dGVzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250QXR0cmlidXRlc0NvY29hLm1tCkBAIC03
Niw3ICs3Niw3IEBAIFJldGFpblB0cjxOU1RleHRMaXN0PiBUZXh0TGlzdDo6Y3JlYXRlVGV4dExp
c3QoKSBjb25zdAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBDbGFzcyB0ZXh0TGlzdENsYXNzID0g
TlNUZXh0TGlzdC5jbGFzczsKICNlbHNlCi0gICAgQ2xhc3MgdGV4dExpc3RDbGFzcyA9IFBBTDo6
Z2V0X1VJS2l0X05TVGV4dExpc3RDbGFzcygpOworICAgIENsYXNzIHRleHRMaXN0Q2xhc3MgPSBQ
QUw6OmdldE5TVGV4dExpc3RDbGFzcygpOwogI2VuZGlmCiAgICAgYXV0byByZXN1bHQgPSBhZG9w
dE5TKFtbdGV4dExpc3RDbGFzcyBhbGxvY10gaW5pdFdpdGhNYXJrZXJGb3JtYXQ6Y29jb2FUZXh0
TGlzdE1hcmtlck5hbWUoc3R5bGUsIG9yZGVyZWQpIG9wdGlvbnM6MF0pOwogICAgIFtyZXN1bHQg
c2V0U3RhcnRpbmdJdGVtTnVtYmVyOnN0YXJ0aW5nSXRlbU51bWJlcl07CkBAIC0xMDYsNyArMTA2
LDcgQEAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gRm9udEF0dHJpYnV0ZXM6OmNyZWF0ZURpY3Rp
b25hcnkoKSBjb25zdAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBDbGFzcyBwYXJhZ3JhcGhTdHls
ZUNsYXNzID0gTlNQYXJhZ3JhcGhTdHlsZS5jbGFzczsKICNlbHNlCi0gICAgQ2xhc3MgcGFyYWdy
YXBoU3R5bGVDbGFzcyA9IFBBTDo6Z2V0X1VJS2l0X05TUGFyYWdyYXBoU3R5bGVDbGFzcygpOwor
ICAgIENsYXNzIHBhcmFncmFwaFN0eWxlQ2xhc3MgPSBQQUw6OmdldE5TUGFyYWdyYXBoU3R5bGVD
bGFzcygpOwogI2VuZGlmCiAgICAgYXV0byBzdHlsZSA9IGFkb3B0TlMoW1twYXJhZ3JhcGhTdHls
ZUNsYXNzIGRlZmF1bHRQYXJhZ3JhcGhTdHlsZV0gbXV0YWJsZUNvcHldKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9Gb250U2hhZG93Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0ZvbnRTaGFkb3dDb2NvYS5tbQppbmRleCAxZjRmMDc3
YmZiNjI3YTE3ZTM2YmJlOWExM2U3ZWEyMGMyMjY2YTYyLi4wNDU4ZDA2MTQ2ZGI1MGQ4MjYwOWVm
NDhlMjIxMWUyYTNjOTdmMTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL0ZvbnRTaGFkb3dDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29h
L0ZvbnRTaGFkb3dDb2NvYS5tbQpAQCAtNDAsNyArNDAsNyBAQCBSZXRhaW5QdHI8TlNTaGFkb3c+
IEZvbnRTaGFkb3c6OmNyZWF0ZVNoYWRvdygpIGNvbnN0CiAjaWYgVVNFKEFQUEtJVCkKICAgICBh
dXRvIHNoYWRvdyA9IGFkb3B0TlMoW05TU2hhZG93IG5ld10pOwogI2VsaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBhdXRvIHNoYWRvdyA9IGFkb3B0TlMoW1BBTDo6Z2V0X1VJS2l0X05TU2hh
ZG93Q2xhc3MoKSBuZXddKTsKKyAgICBhdXRvIHNoYWRvdyA9IGFkb3B0TlMoW1BBTDo6Z2V0TlNT
aGFkb3dDbGFzcygpIG5ld10pOwogI2VuZGlmCiAgICAgW3NoYWRvdyBzZXRTaGFkb3dDb2xvcjpw
bGF0Zm9ybUNvbG9yKGNvbG9yKV07CiAgICAgW3NoYWRvdyBzZXRTaGFkb3dPZmZzZXQ6b2Zmc2V0
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3Rv
cnNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRl
Y3RvcnNDb3JlU29mdExpbmsuaAppbmRleCBlMDg2NmVmZGFiYzBlMDdmZTBjNjY4NjVhZWQ4ZGRm
N2RjYzgxODQ0Li43NzlmYWM1YjAxNDNlMzMyMzlmMzBiMmE2Yzg0ZjIzNTIzMDEyMDM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9y
c0NvcmVTb2Z0TGluay5oCkBAIC0zMiw3ICszMiw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERTY2FubmVyUmVzdWx0KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRERTY2FubmVyUmVzdWx0KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2FubmVyUmVmLCAoRERT
Y2FubmVyVHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENGRXJyb3JSZWYgKiBl
cnJvclJlZiksICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikpCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyU2NhblF1ZXJ5
LCBCb29sZWFuLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwg
KHNjYW5uZXIsIHF1ZXJ5KSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUs
IERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChD
RkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0NvbG9yQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Db2xvckNvY29hLm1tCmluZGV4IGZmMjY5
MmNkMjlkMTEwMTE2ZGRkZmIzYTIzZjJkYjExMWEzYjU5MmEuLjk1Nzc3MDEwNjBkNDgyMDAxMzQ0
MjFmYTBmODZhMDBkM2NiNjhlNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0NvbG9yQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvQ29sb3JDb2NvYS5tbQpAQCAtNDgsNyArNDgsNyBAQCBOU0NvbG9y
ICpwbGF0Zm9ybUNvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKIAogVUlDb2xvciAqcGxhdGZvcm1D
b2xvcihjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgcmV0dXJuIFtQQUw6OmdldF9VSUtpdF9V
SUNvbG9yQ2xhc3MoKSBfZGlzYW1iaWd1YXRlZF9kdWVfdG9fQ0lJbWFnZV9jb2xvcldpdGhDR0Nv
bG9yOmNhY2hlZENHQ29sb3IoY29sb3IpXTsKKyAgICByZXR1cm4gW1BBTDo6Z2V0VUlDb2xvckNs
YXNzKCkgX2Rpc2FtYmlndWF0ZWRfZHVlX3RvX0NJSW1hZ2VfY29sb3JXaXRoQ0dDb2xvcjpjYWNo
ZWRDR0NvbG9yKGNvbG9yKV07CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCmluZGV4IDlkMmViZDQ5NGI3Y2E4MmYyZGZh
YzRiOTcwNjgzY2YyNzYxOGRjNmYuLjQxYWRjMmE4ZmEzMjg1MGY1ZjQ3ZmMyM2Y5YTI1NDg2NzUz
NzIzZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNj
cmVlbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3Jl
ZW5JT1MubW0KQEAgLTEyOSwxNiArMTI5LDE2IEBAIGZsb2F0IHNjcmVlblBQSUZhY3RvcigpCiAK
IEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkKIHsKLSAgICBpZiAoZGV2aWNlSGFzSVBhZENhcGFiaWxp
dHkoKSAmJiBbW1BBTDo6Z2V0X1VJS2l0X1VJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFwcGxp
Y2F0aW9uXSBfaXNDbGFzc2ljXSkKKyAgICBpZiAoZGV2aWNlSGFzSVBhZENhcGFiaWxpdHkoKSAm
JiBbW1BBTDo6Z2V0VUlBcHBsaWNhdGlvbkNsYXNzKCkgc2hhcmVkQXBwbGljYXRpb25dIF9pc0Ns
YXNzaWNdKQogICAgICAgICByZXR1cm4geyAzMjAsIDQ4MCB9OwotICAgIHJldHVybiBGbG9hdFNp
emUoW1tQQUw6OmdldF9VSUtpdF9VSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVlbl0gX3JlZmVyZW5j
ZUJvdW5kc10uc2l6ZSk7CisgICAgcmV0dXJuIEZsb2F0U2l6ZShbW1BBTDo6Z2V0VUlTY3JlZW5D
bGFzcygpIG1haW5TY3JlZW5dIF9yZWZlcmVuY2VCb3VuZHNdLnNpemUpOwogfQogCiBGbG9hdFNp
emUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpCiB7Ci0gICAgaWYgKGRldmljZUhhc0lQYWRDYXBhYmls
aXR5KCkgJiYgW1tQQUw6OmdldF9VSUtpdF9VSUFwcGxpY2F0aW9uQ2xhc3MoKSBzaGFyZWRBcHBs
aWNhdGlvbl0gX2lzQ2xhc3NpY10pCisgICAgaWYgKGRldmljZUhhc0lQYWRDYXBhYmlsaXR5KCkg
JiYgW1tQQUw6OmdldFVJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFwcGxpY2F0aW9uXSBfaXND
bGFzc2ljXSkKICAgICAgICAgcmV0dXJuIHsgMzIwLCA0ODAgfTsKLSAgICByZXR1cm4gRmxvYXRT
aXplKFtQQUw6OmdldF9VSUtpdF9VSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVlbl0uYm91bmRzLnNp
emUpOworICAgIHJldHVybiBGbG9hdFNpemUoW1BBTDo6Z2V0VUlTY3JlZW5DbGFzcygpIG1haW5T
Y3JlZW5dLmJvdW5kcy5zaXplKTsKIH0KIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYm
IF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9QbGF0Zm9ybVNjcmVlbklPUy5tbT4pCkBA
IC0xNTMsNyArMTUzLDcgQEAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpCiBmbG9hdCBz
Y3JlZW5TY2FsZUZhY3RvcihVSVNjcmVlbiAqc2NyZWVuKQogewogICAgIGlmICghc2NyZWVuKQot
ICAgICAgICBzY3JlZW4gPSBbUEFMOjpnZXRfVUlLaXRfVUlTY3JlZW5DbGFzcygpIG1haW5TY3Jl
ZW5dOworICAgICAgICBzY3JlZW4gPSBbUEFMOjpnZXRVSVNjcmVlbkNsYXNzKCkgbWFpblNjcmVl
bl07CiAKICAgICByZXR1cm4gc2NyZWVuLnNjYWxlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBk
MGUzNzQ1MjA2ZGQ5OGFiNzRiNmY0ZDE1NWI4ODI3NmRhNTg2ZTIwLi4xNjQ5ZDJlYzgxOGFkOGNk
YjQ0ODRmYzRkNjMzYzgxMjZiODc4NGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNTUsNyArNTUs
NyBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudD46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBXZWJDb3JlOjpQYXltZW50JgogICAgIGF1dG8gZGF0YSA9IGFkb3B0TlMoW1tO
U0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGlj
X2Nhc3Q8Y29uc3Qgdm9pZCo+KGRhdGFSZWZlcmVuY2UuZGF0YSgpKSkgbGVuZ3RoOmRhdGFSZWZl
cmVuY2Uuc2l6ZSgpIGZyZWVXaGVuRG9uZTpOT10pOwogICAgIGF1dG8gdW5hcmNoaXZlciA9IHNl
Y3VyZVVuYXJjaGl2ZXJGcm9tRGF0YShkYXRhLmdldCgpKTsKICAgICBAdHJ5IHsKLSAgICAgICAg
UEtQYXltZW50ICpwa1BheW1lbnQgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmplY3RPZkNsYXNzOlBB
TDo6Z2V0X1Bhc3NLaXRfUEtQYXltZW50Q2xhc3MoKSBmb3JLZXk6TlNLZXllZEFyY2hpdmVSb290
T2JqZWN0S2V5XTsKKyAgICAgICAgUEtQYXltZW50ICpwa1BheW1lbnQgPSBbdW5hcmNoaXZlciBk
ZWNvZGVPYmplY3RPZkNsYXNzOlBBTDo6Z2V0UEtQYXltZW50Q2xhc3MoKSBmb3JLZXk6TlNLZXll
ZEFyY2hpdmVSb290T2JqZWN0S2V5XTsKICAgICAgICAgcGF5bWVudCA9IFBheW1lbnQocGtQYXlt
ZW50KTsKICAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBM
T0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgUEtQYXltZW50OiAlQCIsIGV4Y2VwdGlvbik7CkBA
IC0xMDYsNyArMTA2LDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRDb250
YWN0Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6OlAKICAgICBhdXRvIGRhdGEg
PSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8
dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihkYXRhUmVmZXJlbmNlLmRhdGEoKSkpIGxl
bmd0aDpkYXRhUmVmZXJlbmNlLnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKICAgICBhdXRvIHVu
YXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoZGF0YS5nZXQoKSk7CiAgICAgQHRy
eSB7Ci0gICAgICAgIFBLQ29udGFjdCAqcGtDb250YWN0ID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2Jq
ZWN0T2ZDbGFzczpQQUw6OmdldF9QYXNzS2l0X1BLQ29udGFjdENsYXNzKCkgZm9yS2V5Ok5TS2V5
ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CisgICAgICAgIFBLQ29udGFjdCAqcGtDb250YWN0ID0g
W3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzczpQQUw6OmdldFBLQ29udGFjdENsYXNzKCkg
Zm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CiAgICAgICAgIHBheW1lbnRDb250
YWN0ID0gUGF5bWVudENvbnRhY3QocGtDb250YWN0KTsKICAgICB9IEBjYXRjaCAoTlNFeGNlcHRp
b24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgUEtD
b250YWN0OiAlQCIsIGV4Y2VwdGlvbik7CkBAIC0xNjMsNyArMTYzLDcgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgV2UKICAgICBhdXRvIGRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0
V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQq
PihkYXRhUmVmZXJlbmNlLmRhdGEoKSkpIGxlbmd0aDpkYXRhUmVmZXJlbmNlLnNpemUoKSBmcmVl
V2hlbkRvbmU6Tk9dKTsKICAgICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJv
bURhdGEoZGF0YS5nZXQoKSk7CiAgICAgQHRyeSB7Ci0gICAgICAgIFBLUGF5bWVudE1lcmNoYW50
U2Vzc2lvbiAqcGtQYXltZW50TWVyY2hhbnRTZXNzaW9uID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2Jq
ZWN0T2ZDbGFzczpQQUw6OmdldF9QYXNzS2l0X1BLUGF5bWVudE1lcmNoYW50U2Vzc2lvbkNsYXNz
KCkgZm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CisgICAgICAgIFBLUGF5bWVu
dE1lcmNoYW50U2Vzc2lvbiAqcGtQYXltZW50TWVyY2hhbnRTZXNzaW9uID0gW3VuYXJjaGl2ZXIg
ZGVjb2RlT2JqZWN0T2ZDbGFzczpQQUw6OmdldFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbkNsYXNz
KCkgZm9yS2V5Ok5TS2V5ZWRBcmNoaXZlUm9vdE9iamVjdEtleV07CiAgICAgICAgIHBheW1lbnRN
ZXJjaGFudFNlc3Npb24gPSBQYXltZW50TWVyY2hhbnRTZXNzaW9uKHBrUGF5bWVudE1lcmNoYW50
U2Vzc2lvbik7CiAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZGVjb2RlIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbjog
JUAiLCBleGNlcHRpb24pOwpAQCAtMTkzLDcgKzE5Myw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpQYXltZW50TWV0aG9kPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6
OlBhCiAgICAgYXV0byBkYXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRl
c05vQ29weTpjb25zdF9jYXN0PHZvaWQqPihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oZGF0YVJl
ZmVyZW5jZS5kYXRhKCkpKSBsZW5ndGg6ZGF0YVJlZmVyZW5jZS5zaXplKCkgZnJlZVdoZW5Eb25l
Ok5PXSk7CiAgICAgYXV0byB1bmFyY2hpdmVyID0gc2VjdXJlVW5hcmNoaXZlckZyb21EYXRhKGRh
dGEuZ2V0KCkpOwogICAgIEB0cnkgewotICAgICAgICBQS1BheW1lbnRNZXRob2QgKnBrUGF5bWVu
dE1ldGhvZCA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVjdE9mQ2xhc3M6UEFMOjpnZXRfUGFzc0tp
dF9QS1BheW1lbnRNZXRob2RDbGFzcygpIGZvcktleTpOU0tleWVkQXJjaGl2ZVJvb3RPYmplY3RL
ZXldOworICAgICAgICBQS1BheW1lbnRNZXRob2QgKnBrUGF5bWVudE1ldGhvZCA9IFt1bmFyY2hp
dmVyIGRlY29kZU9iamVjdE9mQ2xhc3M6UEFMOjpnZXRQS1BheW1lbnRNZXRob2RDbGFzcygpIGZv
cktleTpOU0tleWVkQXJjaGl2ZVJvb3RPYmplY3RLZXldOwogICAgICAgICBwYXltZW50TWV0aG9k
ID0gUGF5bWVudE1ldGhvZChwa1BheW1lbnRNZXRob2QpOwogICAgIH0gQGNhdGNoIChOU0V4Y2Vw
dGlvbiAqZXhjZXB0aW9uKSB7CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBQ
S1BheW1lbnQ6ICVAIiwgZXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tCmluZGV4IGM5NGE1ZjBjNDM3YmJlNWEzNDI1ZDJhODIzMjBkNGM3
ZmRhZGM5Y2IuLjA1NmQ1YzNmNGE1Mzk0ZDNjZjVkZWQ2ZDZkYjU0ZjBmODY2NGE5MzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtODQsNyAr
ODQsNyBAQCAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcgogICAgIEFTU0VSVCghX3Nlc3Npb25CbG9j
ayk7CiAgICAgX3Nlc3Npb25CbG9jayA9IHNlc3Npb25CbG9jazsKIAotICAgIFtQQUw6OmdldF9Q
YXNzS2l0X1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkgcGF5bWVu
dFNlcnZpY2VzTWVyY2hhbnRVUkw6XihOU1VSTCAqbWVyY2hhbnRVUkwsIE5TRXJyb3IgKmVycm9y
KSB7CisgICAgW1BBTDo6Z2V0UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xh
c3MoKSBwYXltZW50U2VydmljZXNNZXJjaGFudFVSTDpeKE5TVVJMICptZXJjaGFudFVSTCwgTlNF
cnJvciAqZXJyb3IpIHsKICAgICAgICAgaWYgKGVycm9yKQogICAgICAgICAgICAgTE9HX0VSUk9S
KCJQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJBbmREb21haW4gZXJyb3Ig
JUAiLCBlcnJvcik7CiAKQEAgLTI1OCw3ICsyNTgsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Ym9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1DYW5NYWtlUGF5bWVudHMo
KQogewotICAgIHJldHVybiBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRBdXRob3JpemF0aW9u
Vmlld0NvbnRyb2xsZXJDbGFzcygpIGNhbk1ha2VQYXltZW50c107CisgICAgcmV0dXJuIFtQQUw6
OmdldFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkgY2FuTWFrZVBh
eW1lbnRzXTsKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1D
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMzUwLDcgKzM1MCw3IEBAIHN0YXRpYyBOU0RlY2lt
YWxOdW1iZXIgKnRvRGVjaW1hbE51bWJlcihjb25zdCBTdHJpbmcmIGFtb3VudCkKIAogc3RhdGlj
IFJldGFpblB0cjxQS1BheW1lbnRTdW1tYXJ5SXRlbT4gdG9QS1BheW1lbnRTdW1tYXJ5SXRlbShj
b25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6TGluZUl0ZW0mIGxp
bmVJdGVtKQogewotICAgIHJldHVybiBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRTdW1tYXJ5
SXRlbUNsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0ZW0ubGFiZWwgYW1vdW50OnRv
RGVjaW1hbE51bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9QS1BheW1lbnRTdW1tYXJ5SXRl
bVR5cGUobGluZUl0ZW0udHlwZSldOworICAgIHJldHVybiBbUEFMOjpnZXRQS1BheW1lbnRTdW1t
YXJ5SXRlbUNsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0ZW0ubGFiZWwgYW1vdW50
OnRvRGVjaW1hbE51bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9QS1BheW1lbnRTdW1tYXJ5
SXRlbVR5cGUobGluZUl0ZW0udHlwZSldOwogfQogCiBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+
IHRvUEtQYXltZW50U3VtbWFyeUl0ZW1zKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBh
eW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcyYgdG90YWxBbmRMaW5lSXRlbXMpCkBAIC00
MDksNyArNDA5LDcgQEAgc3RhdGljIFBLU2hpcHBpbmdUeXBlIHRvUEtTaGlwcGluZ1R5cGUoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlMKIAogc3RhdGljIFJldGFpblB0
cjxQS1NoaXBwaW5nTWV0aG9kPiB0b1BLU2hpcHBpbmdNZXRob2QoY29uc3QgV2ViQ29yZTo6QXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kJiBzaGlwcGluZ01ldGhv
ZCkKIHsKLSAgICBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gcmVzdWx0ID0gW1BBTDo6Z2V0
X1Bhc3NLaXRfUEtTaGlwcGluZ01ldGhvZENsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6c2hp
cHBpbmdNZXRob2QubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihzaGlwcGluZ01ldGhvZC5h
bW91bnQpXTsKKyAgICBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gcmVzdWx0ID0gW1BBTDo6
Z2V0UEtTaGlwcGluZ01ldGhvZENsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6c2hpcHBpbmdN
ZXRob2QubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihzaGlwcGluZ01ldGhvZC5hbW91bnQp
XTsKICAgICBbcmVzdWx0IHNldElkZW50aWZpZXI6c2hpcHBpbmdNZXRob2QuaWRlbnRpZmllcl07
CiAgICAgW3Jlc3VsdCBzZXREZXRhaWw6c2hpcHBpbmdNZXRob2QuZGV0YWlsXTsKIApAQCAtNzk4
LDcgKzc5OCw3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29t
cGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKGNvbnN0IHN0CiAKIFZlY3RvcjxTdHJpbmc+IFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUF2YWlsYWJsZVBheW1lbnROZXR3b3Jr
cygpCiB7Ci0gICAgTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxlTmV0d29ya3Mg
PSBbUEFMOjpnZXRfUGFzc0tpdF9QS1BheW1lbnRSZXF1ZXN0Q2xhc3MoKSBhdmFpbGFibGVOZXR3
b3Jrc107CisgICAgTlNBcnJheTxQS1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxlTmV0d29ya3Mg
PSBbUEFMOjpnZXRQS1BheW1lbnRSZXF1ZXN0Q2xhc3MoKSBhdmFpbGFibGVOZXR3b3Jrc107CiAg
ICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OwogICAgIHJlc3VsdC5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KGF2YWlsYWJsZU5ldHdvcmtzLmNvdW50KTsKICAgICBmb3IgKFBLUGF5bWVudE5ldHdvcmsg
bmV0d29yayBpbiBhdmFpbGFibGVOZXR3b3JrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eU1hYy5tbQppbmRleCAyZTk5Y2IxNDc3MjM3NWE0ZTg3YzI5ZjU3MmFmZTk3NWNmYTE4
NjExLi5iZDgzMGM2MjQ0ZGRmNTY5YzUxODVkYmU5Yjc1MDM2MDBjOWM3Yzc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvbWFj
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tCkBAIC00MSw3ICs0MSw3IEBAIHZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBX
ZWJDb3JlOjpVUkwmIG9yaWdpCiAKICAgICBhdXRvIHNob3dQYXltZW50VUlSZXF1ZXN0U2VlZCA9
IG1fc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVkOwogICAgIGF1dG8gd2Vha1RoaXMgPSBtYWtlV2Vh
a1B0cigqdGhpcyk7Ci0gICAgW1BBTDo6Z2V0X1Bhc3NLaXRfUEtQYXltZW50QXV0aG9yaXphdGlv
blZpZXdDb250cm9sbGVyQ2xhc3MoKSByZXF1ZXN0Vmlld0NvbnRyb2xsZXJXaXRoUGF5bWVudFJl
cXVlc3Q6cGF5bWVudFJlcXVlc3QuZ2V0KCkgY29tcGxldGlvbjpCbG9ja1B0cjx2b2lkKFBLUGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciAqLCBOU0Vycm9yICopPjo6ZnJvbUNhbGxh
YmxlKFtwYXltZW50UmVxdWVzdCwgc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVkLCB3ZWFrVGhpcywg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oUEtQYXltZW50
QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICp2aWV3Q29udHJvbGxlciwgTlNFcnJvciAqZXJy
b3IpIHsKKyAgICBbUEFMOjpnZXRQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJD
bGFzcygpIHJlcXVlc3RWaWV3Q29udHJvbGxlcldpdGhQYXltZW50UmVxdWVzdDpwYXltZW50UmVx
dWVzdC5nZXQoKSBjb21wbGV0aW9uOkJsb2NrUHRyPHZvaWQoUEtQYXltZW50QXV0aG9yaXphdGlv
blZpZXdDb250cm9sbGVyICosIE5TRXJyb3IgKik+Ojpmcm9tQ2FsbGFibGUoW3BheW1lbnRSZXF1
ZXN0LCBzaG93UGF5bWVudFVJUmVxdWVzdFNlZWQsIHdlYWtUaGlzLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShQS1BheW1lbnRBdXRob3JpemF0aW9uVmll
d0NvbnRyb2xsZXIgKnZpZXdDb250cm9sbGVyLCBOU0Vycm9yICplcnJvcikgewogICAgICAgICBh
dXRvIHBheW1lbnRDb29yZGluYXRvclByb3h5ID0gd2Vha1RoaXMuZ2V0KCk7CiAgICAgICAgIGlm
ICghcGF5bWVudENvb3JkaW5hdG9yUHJveHkpCiAgICAgICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>