<?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>234108</bug_id>
          
          <creation_ts>2021-12-09 15:39:43 -0800</creation_ts>
          <short_desc>[GPU Process] [Filters] Make FilterEffectVector a Vector of Ref&lt;FilterEffect&gt;</short_desc>
          <delta_ts>2021-12-10 11:28:31 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231253</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1822392</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-09 15:39:43 -0800</bug_when>
    <thetext>There is no case that would require inserting a nullptr in FilterEffectVector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822532</commentid>
    <comment_count>1</comment_count>
      <attachid>446667</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-09 23:02:37 -0800</bug_when>
    <thetext>Created attachment 446667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822547</commentid>
    <comment_count>2</comment_count>
      <attachid>446667</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-09 23:50:02 -0800</bug_when>
    <thetext>Comment on attachment 446667
Patch

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

&gt; Source/WebCore/platform/graphics/filters/FilterEffect.cpp:150
&gt;  FilterEffect* FilterEffect::inputEffect(unsigned number) const

Should this be changed to return a reference too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822565</commentid>
    <comment_count>3</comment_count>
      <attachid>446677</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-10 00:56:11 -0800</bug_when>
    <thetext>Created attachment 446677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822836</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 11:27:54 -0800</bug_when>
    <thetext>Committed r286864 (245095@main): &lt;https://commits.webkit.org/245095@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446677.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822837</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 11:28:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/86332124&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446667</attachid>
            <date>2021-12-09 23:02:37 -0800</date>
            <delta_ts>2021-12-09 23:50:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234108-20211209230236.patch</filename>
            <type>text/plain</type>
            <size>21748</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM4ZDNmODkzODE4ODg1
Njc1ODJhOGRiNjhlODU2ODY5Mjg0MmE5Yi4uYmVjZDAxYTE2OTA5M2ZkZjI1ZGNiMzE5N2NlZGU2
Njg5MGI1NDgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTEyLTA5ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
W0ZpbHRlcnNdIE1ha2UgRmlsdGVyRWZmZWN0VmVjdG9yIGEgVmVjdG9yIG9mIFJlZjxGaWx0ZXJF
ZmZlY3Q+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzQxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGVyZSBpcyBubyBjYXNlIHRoYXQgd291bGQgcmVxdWlyZSBpbnNlcnRpbmcgYSBudWxscHRyIGlu
IEZpbHRlckVmZmVjdFZlY3Rvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0VmVjdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VBbHBoYTo6U291cmNlQWxwaGEpOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NGaWx0ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRmlsdGVyOjpidWlsZEZpbHRlckZ1bmN0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGaWx0ZXI6OmVmZmVjdHNPZlR5cGUgY29uc3QpOgorICAg
ICAgICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUJsZW5kRWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0
cml4RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbG9yTWF0cml4RWxlbWVu
dDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb21wb3NpdGVFbGVtZW50OjpidWlsZCBjb25zdCk6
CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAg
ICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQ6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAg
KiBzdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2
Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQ6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lh
bkJsdXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFR2F1c3NpYW5CbHVyRWxl
bWVudDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1lcmdlRWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAg
ICAgICAqIHN2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQ6OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKiBzdmcvU1ZH
RkVPZmZzZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVu
dDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ6
OmJ1aWxkIGNvbnN0KToKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVRpbGVFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICog
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZpbHRlcjo6ZWZmZWN0c09mVHlwZSBjb25zdCk6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRmlsdGVyQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJC
dWlsZGVyOjpidWlsZEVmZmVjdEV4cHJlc3Npb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRmlsdGVyQnVpbGRlcjo6YnVpbGRFeHByZXNzaW9uIGNvbnN0KToKKyAgICAgICAgKiBzdmcv
Z3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmg6CisKIDIwMjEtMTItMDkgIFNhaWQg
QWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSBb
RmlsdGVyc10gQWRkIHRoZSBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZm9yIEZFSW1hZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNzZmMGUyMTQyNjhjNjAzNDFlNTQ3ZjRhYTU3NmRhYzZlYmIxMTI3Zi4uNmJjNzU4OGMx
NzUyYzk5NTExODFjZjMwOTkzNjFkYjZjOWIzNDYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMS0xMi0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAg
ICAgICBbR1BVIFByb2Nlc3NdIFtGaWx0ZXJzXSBNYWtlIEZpbHRlckVmZmVjdFZlY3RvciBhIFZl
Y3RvciBvZiBSZWY8RmlsdGVyRWZmZWN0PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MTA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0
UmVjb3JkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVy
OjpkcmF3RmlsdGVyZWRJbWFnZUJ1ZmZlcik6CisKIDIwMjEtMTItMDkgIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSBbRmlsdGVyc10g
QWRkIHRoZSBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZm9yIEZFSW1hZ2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJl
Y29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAppbmRleCBlNjdlNTE2YjM4N2U5MmYzODNlM2RmYmFj
MTk2YjI1ZDAyYmFiYzk4Li45NWNjNzlmZDJjZGIwMGY2Mzk5OTFhYjA0NmJmYWJlNDM5NjI1N2Zm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0xNTUsNyAr
MTU1LDcgQEAgdm9pZCBSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIoSW1hZ2VCdWZm
ZXIqIHNvdXJjZUltYWdlLCBjb25zdCBGbG9hdFJlY3QKICAgICB9CiAKICAgICBmb3IgKGF1dG8m
IGVmZmVjdCA6IGZpbHRlci5lZmZlY3RzT2ZUeXBlKEZpbHRlckVmZmVjdDo6VHlwZTo6RkVJbWFn
ZSkpIHsKLSAgICAgICAgYm9vbCBpc1JlY29yZGVkID0gV1RGOjpzd2l0Y2hPbihkb3duY2FzdDxG
RUltYWdlPihlZmZlY3QuZ2V0KCkpLT5zb3VyY2VJbWFnZSgpLAorICAgICAgICBib29sIGlzUmVj
b3JkZWQgPSBXVEY6OnN3aXRjaE9uKGRvd25jYXN0PEZFSW1hZ2U+KGVmZmVjdC5nZXQoKSkuc291
cmNlSW1hZ2UoKSwKICAgICAgICAgICAgIFsmXSAoY29uc3QgUmVmPEltYWdlPiYgaW1hZ2UpIHsK
ICAgICAgICAgICAgICAgICBpZiAoYXV0byBuYXRpdmVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFn
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHJlY29yZFJlc291cmNlVXNlKCpuYXRpdmVJbWFn
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZpbHRlckVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlckVmZmVjdC5jcHAKaW5kZXggYTkzNDg1MWRlNGYwOTlkZWQ2YzM4NGUzYzM1NDZh
MmIzNzYyMzNiMC4uOTExOTIwY2ZjYWE1NmQ3NDA4ZDdlYzM5MTY4YmRmNTFjNWYxMWQ2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJF
ZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyRWZmZWN0LmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIFJlZlB0cjxGaWx0ZXJJbWFnZT4g
RmlsdGVyRWZmZWN0OjphcHBseShjb25zdCBGaWx0ZXImIGZpbHRlciwgY29uc3QgRmlsdGVySW1h
Z2VWCiBGaWx0ZXJFZmZlY3QqIEZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QodW5zaWduZWQgbnVt
YmVyKSBjb25zdAogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG51bWJl
ciA8IG1faW5wdXRFZmZlY3RzLnNpemUoKSk7Ci0gICAgcmV0dXJuIG1faW5wdXRFZmZlY3RzLmF0
KG51bWJlcikuZ2V0KCk7CisgICAgcmV0dXJuIG1faW5wdXRFZmZlY3RzLmF0KG51bWJlcikucHRy
KCk7CiB9CiAKIHZvaWQgRmlsdGVyRWZmZWN0OjpjbGVhclJlc3VsdCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdFZlY3Rv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZl
Y3RWZWN0b3IuaAppbmRleCA1NjMwMjVkMmI0ZjA0NjY1YWVmZDIyZDgwYWQwMTY5NGJhZDM1OTU4
Li43NWY0YzgzMmNlM2FlMTZkOWVhOTIwOWNmODcyZWRiNzhjMGNiNzkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdFZlY3Rv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVy
RWZmZWN0VmVjdG9yLmgKQEAgLTMxLDYgKzMxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBGaWx0ZXJFZmZlY3Q7CiAKLXVzaW5nIEZpbHRlckVmZmVjdFZlY3RvciA9IFZlY3RvcjxS
ZWZQdHI8RmlsdGVyRWZmZWN0Pj47Cit1c2luZyBGaWx0ZXJFZmZlY3RWZWN0b3IgPSBWZWN0b3I8
UmVmPEZpbHRlckVmZmVjdD4+OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEu
Y3BwCmluZGV4IDgxZmJmNzBmYzcyOWZjODI5NDIwZmJiNTA2YjFiNzNlMjMzNzE0N2QuLjVjZDRj
NWJkYjk2MzRiZGEyNWYwMmZhZDc5YTA5YjM5ZDZjZmEzY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCkBA
IC00NSw3ICs0NSw3IEBAIFNvdXJjZUFscGhhOjpTb3VyY2VBbHBoYShGaWx0ZXJFZmZlY3QmIHNv
dXJjZUVmZmVjdCkKICAgICA6IEZpbHRlckVmZmVjdChGaWx0ZXJFZmZlY3Q6OlR5cGU6OlNvdXJj
ZUFscGhhKQogewogICAgIHNldE9wZXJhdGluZ0NvbG9yU3BhY2Uoc291cmNlRWZmZWN0Lm9wZXJh
dGluZ0NvbG9yU3BhY2UoKSk7Ci0gICAgaW5wdXRFZmZlY3RzKCkuYXBwZW5kKCZzb3VyY2VFZmZl
Y3QpOworICAgIGlucHV0RWZmZWN0cygpLmFwcGVuZChzb3VyY2VFZmZlY3QpOwogfQogCiBzdGQ6
OnVuaXF1ZV9wdHI8RmlsdGVyRWZmZWN0QXBwbGllcj4gU291cmNlQWxwaGE6OmNyZWF0ZUFwcGxp
ZXIoY29uc3QgRmlsdGVyJikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9DU1NGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU0ZpbHRlci5j
cHAKaW5kZXggYTEzMjhhNmVjZGQxMjhiMzk4ZWZiYzIwZDdiMTFjZWU3M2U5YjQxNi4uODk5NjIw
NjMwNDk5OGI1MzUwN2M3MjQ2YzdmYWY3NWJkMjc4ZTYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0NTU0ZpbHRlci5jcHAKQEAgLTMxNSw3ICszMTUsNyBAQCBib29sIENTU0ZpbHRlcjo6YnVp
bGRGaWx0ZXJGdW5jdGlvbnMoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEZpbHRlck9w
ZXJhdAogCiAgICAgICAgIGlmIChlZmZlY3QpIHsKICAgICAgICAgICAgIGVmZmVjdC0+c2V0T3Bl
cmF0aW5nQ29sb3JTcGFjZShEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSk7Ci0gICAgICAg
ICAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKHByZXZpb3VzRWZmZWN0KSB9
OworICAgICAgICAgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgcHJldmlvdXNFZmZlY3Qu
cmVsZWFzZU5vbk51bGwoKSB9OwogICAgICAgICAgICAgbV9mdW5jdGlvbnMuYXBwZW5kKHsgKmVm
ZmVjdCB9KTsKICAgICAgICAgICAgIHByZXZpb3VzRWZmZWN0ID0gV1RGTW92ZShlZmZlY3QpOwog
ICAgICAgICB9CkBAIC0zNTMsNyArMzUzLDcgQEAgRmlsdGVyRWZmZWN0VmVjdG9yIENTU0ZpbHRl
cjo6ZWZmZWN0c09mVHlwZShGaWx0ZXJGdW5jdGlvbjo6VHlwZSBmaWx0ZXJUeXBlKSBjb24KIAog
ICAgIGZvciAoYXV0byYgZnVuY3Rpb24gOiBtX2Z1bmN0aW9ucykgewogICAgICAgICBpZiAoZnVu
Y3Rpb24tPmZpbHRlclR5cGUoKSA9PSBmaWx0ZXJUeXBlKSB7Ci0gICAgICAgICAgICBlZmZlY3Rz
LmFwcGVuZCh7IGRvd25jYXN0PEZpbHRlckVmZmVjdD4oZnVuY3Rpb24ucHRyKCkpIH0pOworICAg
ICAgICAgICAgZWZmZWN0cy5hcHBlbmQoeyBkb3duY2FzdDxGaWx0ZXJFZmZlY3Q+KGZ1bmN0aW9u
LmdldCgpKSB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCmluZGV4IDA1NDBjOGU0NDA4MmQ1YzYxZjAw
ZjhmYjczNWMzNjE4MmQxMGZhN2YuLmVjMjY0ZGZkZTk0Nzk4ZGQ0ZGQyMDA0MTAzZGI5NTY1YTgw
OTMwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcApAQCAtMTA5
LDcgKzEwOSw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNWR0ZFQmxlbmRFbGVtZW50OjpidWls
ZChTVkdGaWx0ZXJCdWlsZGVyJiBmaWx0ZXJCdWlsZGVyKSBjCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgYXV0byBlZmZlY3QgPSBGRUJsZW5kOjpjcmVhdGUobW9kZSgpKTsKLSAgICBl
ZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSksIFdURk1vdmUoaW5wdXQy
KSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IGlucHV0MS5yZWxlYXNlTm9uTnVs
bCgpLCBpbnB1dDIucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCmluZGV4
IGNkZWJlZjE4YTFmZGNiYjhmM2ZiMzVmYjgzOGFjNjA0YzlhMjNkNjUuLmY4YjYzYmE2OGI3NzEy
MzZiNDI4MTMwNzk5N2I5ZTAwMzU2YjQxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIFJlZlB0cjxGaWx0
ZXJFZmZlY3Q+IFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVy
JiBmaWx0ZXJCdWlsCiAgICAgfQogCiAgICAgYXV0byBlZmZlY3QgPSBGRUNvbG9yTWF0cml4Ojpj
cmVhdGUoZmlsdGVyVHlwZSwgV1RGTW92ZShmaWx0ZXJWYWx1ZXMpKTsKLSAgICBlZmZlY3QtPmlu
cHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAgICBlZmZlY3QtPmlucHV0RWZm
ZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVybiBlZmZlY3Q7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2Zl
ckVsZW1lbnQuY3BwCmluZGV4IDVlZGI4OWQwZDI1OTI1OGZlNmVjZDk1Njc3YTVkNjIwNDE0MGRl
NGIuLjFhNWU4ZTdhM2E2OTNiMjNiZmRhMzI3YzBlMWZiMzQ3NTc3NGE2ZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcApA
QCAtODcsNyArODcsNyBAQCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdAogICAgIH0KIAogICAgIGF1
dG8gZWZmZWN0ID0gRkVDb21wb25lbnRUcmFuc2Zlcjo6Y3JlYXRlKHJlZCwgZ3JlZW4sIGJsdWUs
IGFscGhhKTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkg
fTsKKyAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwo
KSB9OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9zaXRlRWxlbWVudC5jcHAKaW5kZXggN2ZjZWQyZTY0NTU0MGUzYjlkZDA5NmNiZTQ5OTFm
NTg0MTU1MDUxNC4uNjA0NDQ5MjE3ZWZhMGE3MWRkZTkxYmMzYmU1ZTk2YWYwODBhNjk5OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAKQEAgLTE0MCw3
ICsxNDAsNyBAQCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OmJ1
aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aWxkZQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIGF1dG8gZWZmZWN0ID0gRkVDb21wb3NpdGU6OmNyZWF0ZShzdmdPcGVyYXRvcigp
LCBrMSgpLCBrMigpLCBrMygpLCBrNCgpKTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0g
eyBXVEZNb3ZlKGlucHV0MSksIFdURk1vdmUoaW5wdXQyKSB9OworICAgIGVmZmVjdC0+aW5wdXRF
ZmZlY3RzKCkgPSB7IGlucHV0MS5yZWxlYXNlTm9uTnVsbCgpLCBpbnB1dDIucmVsZWFzZU5vbk51
bGwoKSB9OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3BwCmluZGV4IDQ4YzkwYjIwNDdjMjQwNWIw
NjgzMDQxNTdjNWJiMWVmODM5YjdmN2MuLjYzN2FhNzE5ZTgzYjJhMWVhMTI0OTg0YWYxOTI5MDMy
YTNkZjg0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0
cml4RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRy
aXhFbGVtZW50LmNwcApAQCAtMjQ3LDcgKzI0Nyw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNW
R0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVyJiBmaWx0ZXJC
CiAgICAgfQogCiAgICAgYXV0byBlZmZlY3QgPSBGRUNvbnZvbHZlTWF0cml4OjpjcmVhdGUoSW50
U2l6ZShvcmRlclhWYWx1ZSwgb3JkZXJZVmFsdWUpLCBkaXZpc29yVmFsdWUsIGJpYXMoKSwgSW50
UG9pbnQodGFyZ2V0WFZhbHVlLCB0YXJnZXRZVmFsdWUpLCBlZGdlTW9kZSgpLCBGbG9hdFBvaW50
KGtlcm5lbFVuaXRMZW5ndGhYVmFsdWUsIGtlcm5lbFVuaXRMZW5ndGhZVmFsdWUpLCBwcmVzZXJ2
ZUFscGhhKCksIGtlcm5lbE1hdHJpeCk7Ci0gICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsg
V1RGTW92ZShpbnB1dDEpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgaW5wdXQx
LnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICByZXR1cm4gZWZmZWN0OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCmluZGV4IGRk
Mzk0NTk1Y2Y3MjY0OGE2N2Q1MjhhMTM0MTUxZGEzNjdmNGM2OTkuLmQ3ZTNiODk5ZGM5NTY5YzIw
M2JlNzllMDdjMzE5MjdiNWNjODMxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCkBAIC0xNzEsNyArMTcxLDcgQEAgUmVmUHRy
PEZpbHRlckVmZmVjdD4gU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpidWlsZChTVkdGaWx0
ZXJCdWlsZGVyJiBmaWx0ZXIKICAgICBDb2xvciBjb2xvciA9IHJlbmRlcmVyLT5zdHlsZSgpLmNv
bG9yQnlBcHBseWluZ0NvbG9yRmlsdGVyKHJlbmRlcmVyLT5zdHlsZSgpLnN2Z1N0eWxlKCkubGln
aHRpbmdDb2xvcigpKTsKIAogICAgIGF1dG8gZWZmZWN0ID0gRkVEaWZmdXNlTGlnaHRpbmc6OmNy
ZWF0ZShjb2xvciwgc3VyZmFjZVNjYWxlKCksIGRpZmZ1c2VDb25zdGFudCgpLCBrZXJuZWxVbml0
TGVuZ3RoWCgpLCBrZXJuZWxVbml0TGVuZ3RoWSgpLCBXVEZNb3ZlKGxpZ2h0U291cmNlKSk7Ci0g
ICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgV1RGTW92ZShpbnB1dDEpIH07CisgICAgZWZm
ZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICBy
ZXR1cm4gZWZmZWN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQuY3BwCmluZGV4IDY5MDc1MTM3NTA3ZDZjNjQ3NDlhMWM4YmM0MTJh
MGFlZTUxYTFhMmQuLjA5YmQ5YTgyYjRmYzc5MDYxYjkzMTAxZWZkOThkNTU5NDYwNTZhNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQu
Y3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVyJiBmaWx0ZXIKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICBhdXRvIGVmZmVjdCA9IEZFRGlzcGxhY2VtZW50TWFwOjpj
cmVhdGUoeENoYW5uZWxTZWxlY3RvcigpLCB5Q2hhbm5lbFNlbGVjdG9yKCksIHNjYWxlKCkpOwot
ICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1vdmUoaW5wdXQxKSwgV1RGTW92ZShp
bnB1dDIpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgaW5wdXQxLnJlbGVhc2VO
b25OdWxsKCksIGlucHV0Mi5yZWxlYXNlTm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuY3BwCmlu
ZGV4IDY1N2FjMTc1YTMwODgxZTUzZmJmZjcwOGRjZjE0MTYwNWU4NDA5MDcuLmMxZGVkYjc4NWEw
MDkzY2IwY2JhNDE1MWVjM2M2NjQyMzE4MTY2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCBSZWZQdHI8Rmls
dGVyRWZmZWN0PiBTVkdGRURyb3BTaGFkb3dFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVy
JiBmaWx0ZXJCdWlsZAogICAgIGZsb2F0IG9wYWNpdHkgPSBzdmdTdHlsZS5mbG9vZE9wYWNpdHko
KTsKIAogICAgIGF1dG8gZWZmZWN0ID0gRkVEcm9wU2hhZG93OjpjcmVhdGUoc3RkRGV2aWF0aW9u
WCgpLCBzdGREZXZpYXRpb25ZKCksIGR4KCksIGR5KCksIGNvbG9yLCBvcGFjaXR5KTsKLSAgICBl
ZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAgICBlZmZlY3Qt
PmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVy
biBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVy
RWxlbWVudC5jcHAKaW5kZXggYTA5MDRmYjUyNzFhMDg2YzY1NGU3OTZlNGMyNTU1OGNhN2MwMTA4
MS4uYzFhOTYzNjEwZGY3NzlkNTM3ZjNlOWFiNTNkMmIyZjg1MDQ0MGU2MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAKQEAgLTEwNSw3ICsx
MDUsNyBAQCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6OmJ1
aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
IAogICAgIGF1dG8gZWZmZWN0ID0gRkVHYXVzc2lhbkJsdXI6OmNyZWF0ZShzdGREZXZpYXRpb25Y
KCksIHN0ZERldmlhdGlvblkoKSwgZWRnZU1vZGUoKSk7Ci0gICAgZWZmZWN0LT5pbnB1dEVmZmVj
dHMoKSA9IHsgV1RGTW92ZShpbnB1dDEpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9
IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICByZXR1cm4gZWZmZWN0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcAppbmRleCA4NTczMzdiYzNjOTA3
NTViNWNmOGQxYWIxMWNhOGVmZDMwYzM2MjRhLi5iYzM0ZTc4ZTAwZGY3MTZmNzE3MWVlZjlkZDc4
MmQ0NWFjMzZiZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHAK
QEAgLTUzLDcgKzUzLDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVNZXJnZUVsZW1lbnQ6
OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aWxkZXIpIGMKICAgICAgICAgYXV0byBt
ZXJnZUVmZmVjdCA9IGZpbHRlckJ1aWxkZXIuZ2V0RWZmZWN0QnlJZChtZXJnZU5vZGUuaW4xKCkp
OwogICAgICAgICBpZiAoIW1lcmdlRWZmZWN0KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgICAgIG1lcmdlSW5wdXRzLmFwcGVuZChXVEZNb3ZlKG1lcmdlRWZmZWN0KSk7CisgICAg
ICAgIG1lcmdlSW5wdXRzLmFwcGVuZChtZXJnZUVmZmVjdC5yZWxlYXNlTm9uTnVsbCgpKTsKICAg
ICB9CiAKICAgICBtZXJnZUlucHV0cy5zaHJpbmtUb0ZpdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwCmluZGV4IDAxY2NhNDg2OGIyZTlkM2I2YzZm
ZGQwN2Q3N2RjNzE1NzAzOGE5YmQuLmNiMGI2YWM2NzcyNWZjMGVmNzljY2YzMTJmNmY0ZjJlMWI2
YWI0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5j
cHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRU1vcnBob2xv
Z3lFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVyJiBmaWx0ZXJCdWlsZAogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZWZmZWN0ID0gRkVNb3JwaG9sb2d5OjpjcmVhdGUo
c3ZnT3BlcmF0b3IoKSwgeFJhZGl1cywgeVJhZGl1cyk7Ci0gICAgZWZmZWN0LT5pbnB1dEVmZmVj
dHMoKSA9IHsgV1RGTW92ZShpbnB1dDEpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9
IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICByZXR1cm4gZWZmZWN0OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwCmluZGV4IDMzNzkwYTZhNTQw
MTI3OWZiMjhjMjNmZDk0ZGU5YjU1MjA5ZjdhM2MuLmVlMDYzOWNiMzQ3M2U2MWU2ZjQ3ODEzZjFm
Yjg2NzZjZTA3YWQ2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNl
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQu
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNWR0ZFT2Zmc2V0RWxl
bWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdGVyQnVpbGRlcikKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICBhdXRvIGVmZmVjdCA9IEZFT2Zmc2V0OjpjcmVhdGUoZHgoKSwg
ZHkoKSk7Ci0gICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgV1RGTW92ZShpbnB1dDEpIH07
CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCkg
fTsKICAgICByZXR1cm4gZWZmZWN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAKaW5kZXggZDI4OTQzYTIzM2M1ZjMwYTI3
NDU2MmNkZWI0MTNiYWVlMmQ1NWY3ZS4uY2Q3ZTcyZDlmYmQ2MDkyODAwM2YwMjFlNjc5ZTEzMGQx
ODdiYzc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdo
dGluZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGln
aHRpbmdFbGVtZW50LmNwcApAQCAtMTc5LDcgKzE3OSw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+
IFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZp
bHRlCiAgICAgQ29sb3IgY29sb3IgPSByZW5kZXJlci0+c3R5bGUoKS5jb2xvckJ5QXBwbHlpbmdD
b2xvckZpbHRlcihyZW5kZXJlci0+c3R5bGUoKS5zdmdTdHlsZSgpLmxpZ2h0aW5nQ29sb3IoKSk7
CiAKICAgICBhdXRvIGVmZmVjdCA9IEZFU3BlY3VsYXJMaWdodGluZzo6Y3JlYXRlKGNvbG9yLCBz
dXJmYWNlU2NhbGUoKSwgc3BlY3VsYXJDb25zdGFudCgpLCBzcGVjdWxhckV4cG9uZW50KCksIGtl
cm5lbFVuaXRMZW5ndGhYKCksIGtlcm5lbFVuaXRMZW5ndGhZKCksIFdURk1vdmUobGlnaHRTb3Vy
Y2UpKTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsK
KyAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9
OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRVRpbGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVt
ZW50LmNwcAppbmRleCBhYWNlMmYzNDMxM2RjZmZhYjhjYWQzYTUyZWUzOTUzZDcxMDAzZjRmLi5l
ZjhkNDA4YjZiOGI1YjM0NTM5MDhlOGQ1ZjRjMGM1MTk4NDc0OTFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIFJlZlB0cjxGaWx0ZXJF
ZmZlY3Q+IFNWR0ZFVGlsZUVsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1
aWxkZXIpIGNvCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byBlZmZlY3QgPSBG
RVRpbGU6OmNyZWF0ZSgpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1vdmUo
aW5wdXQxKSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IGlucHV0MS5yZWxlYXNl
Tm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAKaW5kZXggYzU1NjE2NzI3OTFm
ZGVlYzZkMDJlODFkM2RkZmRmNjgyNDc3MmFlNC4uNmUwYjQ0OWExYWI5NDQyZDc3NWExMGY4ZDU4
NmI5NDc0NzBlMjZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGaWx0ZXIuY3BwCkBAIC0xMTksMTIgKzExOSwxMiBAQCBSZWZQdHI8RmlsdGVyRWZm
ZWN0PiBTVkdGaWx0ZXI6Omxhc3RFZmZlY3QoKSBjb25zdAogCiBGaWx0ZXJFZmZlY3RWZWN0b3Ig
U1ZHRmlsdGVyOjplZmZlY3RzT2ZUeXBlKEZpbHRlckZ1bmN0aW9uOjpUeXBlIGZpbHRlclR5cGUp
IGNvbnN0CiB7Ci0gICAgSGFzaFNldDxSZWZQdHI8RmlsdGVyRWZmZWN0Pj4gZWZmZWN0czsKKyAg
ICBIYXNoU2V0PFJlZjxGaWx0ZXJFZmZlY3Q+PiBlZmZlY3RzOwogCiAgICAgZm9yIChhdXRvJiB0
ZXJtIDogbV9leHByZXNzaW9uKSB7CiAgICAgICAgIGF1dG8mIGVmZmVjdCA9IHRlcm0uZWZmZWN0
OwogICAgICAgICBpZiAoZWZmZWN0LT5maWx0ZXJUeXBlKCkgPT0gZmlsdGVyVHlwZSkKLSAgICAg
ICAgICAgIGVmZmVjdHMuYWRkKHsgZWZmZWN0LnB0cigpIH0pOworICAgICAgICAgICAgZWZmZWN0
cy5hZGQoZWZmZWN0KTsKICAgICB9CiAKICAgICByZXR1cm4gY29weVRvVmVjdG9yKGVmZmVjdHMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmls
dGVyQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdG
aWx0ZXJCdWlsZGVyLmNwcAppbmRleCA4OWIwNTZkMWQ4YzA4YjI5YzkwMTYwY2M1ZGMzOTJjZDVj
NGFhMzBmLi40MDI2NjI1NmNlMGNjZTk1M2FlNTVjMDhmMzc0YWE4MGYwYzM3ODUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJC
dWlsZGVyLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIHN0ZDo6b3B0aW9uYWw8RmlsdGVyRWZmZWN0
R2VvbWV0cnk+IFNWR0ZpbHRlckJ1aWxkZXI6OmVmZmVjdEdlb21ldHJ5KEZpbHRlckVmZmVjCiAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIH0KIAotYm9vbCBTVkdGaWx0ZXJCdWlsZGVyOjpidWls
ZEVmZmVjdEV4cHJlc3Npb24oY29uc3QgUmVmUHRyPEZpbHRlckVmZmVjdD4mIGVmZmVjdCwgRmls
dGVyRWZmZWN0VmVjdG9yJiBzdGFjaywgdW5zaWduZWQgbGV2ZWwsIFNWR0ZpbHRlckV4cHJlc3Np
b24mIGV4cHJlc3Npb24pIGNvbnN0Citib29sIFNWR0ZpbHRlckJ1aWxkZXI6OmJ1aWxkRWZmZWN0
RXhwcmVzc2lvbihGaWx0ZXJFZmZlY3QmIGVmZmVjdCwgRmlsdGVyRWZmZWN0VmVjdG9yJiBzdGFj
aywgdW5zaWduZWQgbGV2ZWwsIFNWR0ZpbHRlckV4cHJlc3Npb24mIGV4cHJlc3Npb24pIGNvbnN0
CiB7CiAgICAgLy8gQSBjeWNsZSBpcyBkZXRlY3RlZC4KICAgICBpZiAoc3RhY2suY29udGFpbnMo
ZWZmZWN0KSkKQEAgLTE5OCw5ICsxOTgsOSBAQCBib29sIFNWR0ZpbHRlckJ1aWxkZXI6OmJ1aWxk
RWZmZWN0RXhwcmVzc2lvbihjb25zdCBSZWZQdHI8RmlsdGVyRWZmZWN0PiYgZWZmZWN0LAogCiAg
ICAgc3RhY2suYXBwZW5kKGVmZmVjdCk7CiAgICAgCi0gICAgZXhwcmVzc2lvbi5hcHBlbmQoeyAq
ZWZmZWN0LCBlZmZlY3RHZW9tZXRyeSgqZWZmZWN0KSwgbGV2ZWwgfSk7CisgICAgZXhwcmVzc2lv
bi5hcHBlbmQoeyBlZmZlY3QsIGVmZmVjdEdlb21ldHJ5KGVmZmVjdCksIGxldmVsIH0pOwogCi0g
ICAgZm9yIChhdXRvJiBpbnB1dEVmZmVjdCA6IGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkpIHsKKyAg
ICBmb3IgKGF1dG8mIGlucHV0RWZmZWN0IDogZWZmZWN0LmlucHV0RWZmZWN0cygpKSB7CiAgICAg
ICAgIGlmICghYnVpbGRFZmZlY3RFeHByZXNzaW9uKGlucHV0RWZmZWN0LCBzdGFjaywgbGV2ZWwg
KyAxLCBleHByZXNzaW9uKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0y
MTgsNyArMjE4LDcgQEAgYm9vbCBTVkdGaWx0ZXJCdWlsZGVyOjpidWlsZEV4cHJlc3Npb24oU1ZH
RmlsdGVyRXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgRmlsdGVyRWZmZWN0VmVjdG9yIHN0YWNrOwotICAgIGlmICghYnVpbGRFZmZlY3RF
eHByZXNzaW9uKG1fbGFzdEVmZmVjdCwgc3RhY2ssIDAsIGV4cHJlc3Npb24pKQorICAgIGlmICgh
YnVpbGRFZmZlY3RFeHByZXNzaW9uKCptX2xhc3RFZmZlY3QsIHN0YWNrLCAwLCBleHByZXNzaW9u
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGV4cHJlc3Npb24uc2l6ZSgpID4g
bWF4VG90YWxOdW1iZXJGaWx0ZXJFZmZlY3RzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyQnVpbGRlci5oCmluZGV4IDA3OTkyNWU0NTE4
N2UyZDA1M2MxYzBjM2RhMjUzNWYyZTg3NTg1N2UuLjMyNjRjMWY5YWNlNGNjMmYzN2FlNGIyZjVj
OWI5MzcyOWZiOTg5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9m
aWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToK
ICAgICB9CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZpbHRlckVmZmVjdEdlb21ldHJ5PiBlZmZlY3RH
ZW9tZXRyeShGaWx0ZXJFZmZlY3QmKSBjb25zdDsKLSAgICBib29sIGJ1aWxkRWZmZWN0RXhwcmVz
c2lvbihjb25zdCBSZWZQdHI8RmlsdGVyRWZmZWN0PiYsIEZpbHRlckVmZmVjdFZlY3RvciYgc3Rh
Y2ssIHVuc2lnbmVkIGxldmVsLCBTVkdGaWx0ZXJFeHByZXNzaW9uJikgY29uc3Q7CisgICAgYm9v
bCBidWlsZEVmZmVjdEV4cHJlc3Npb24oRmlsdGVyRWZmZWN0JiwgRmlsdGVyRWZmZWN0VmVjdG9y
JiBzdGFjaywgdW5zaWduZWQgbGV2ZWwsIFNWR0ZpbHRlckV4cHJlc3Npb24mKSBjb25zdDsKIAog
ICAgIEhhc2hNYXA8QXRvbVN0cmluZywgUmVmUHRyPEZpbHRlckVmZmVjdD4+IG1fYnVpbHRpbkVm
ZmVjdHM7CiAgICAgSGFzaE1hcDxBdG9tU3RyaW5nLCBSZWZQdHI8RmlsdGVyRWZmZWN0Pj4gbV9u
YW1lZEVmZmVjdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKaW5kZXggOGZlZWEyZWZm
Y2I1ZjhhMDJmYjU3YmUyMGRhYzFhZDBjOWYyOWJjYi4uZThmNmY3YmUxOTU2ZTZjYWM0NDIxZTVh
YTM0NjE3OTU0NzY5ZmYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMjM2
LDcgKzIzNiw3IEBAIHZvaWQgUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVk
SW1hZ2VCdWZmZXIoc3RkOjpvcHRpb25hbDxSZW5kZXJpbmdSCiAgICAgYXV0byBmaWx0ZXIgPSBm
aWx0ZXJSZWZlcmVuY2UudGFrZUZpbHRlcigpOwogCiAgICAgZm9yIChhdXRvJiBlZmZlY3QgOiBm
aWx0ZXItPmVmZmVjdHNPZlR5cGUoRmlsdGVyRWZmZWN0OjpUeXBlOjpGRUltYWdlKSkgewotICAg
ICAgICBhdXRvJiBmZUltYWdlID0gKmRvd25jYXN0PEZFSW1hZ2U+KGVmZmVjdC5nZXQoKSk7Cisg
ICAgICAgIGF1dG8mIGZlSW1hZ2UgPSBkb3duY2FzdDxGRUltYWdlPihlZmZlY3QuZ2V0KCkpOwog
CiAgICAgICAgIGNvbnN0IGF1dG8qIHJlc291cmNlSWRlbnRpZmllciA9IHN0ZDo6Z2V0X2lmPFJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4oJmZlSW1hZ2Uuc291cmNlSW1hZ2UoKSk7CiAgICAg
ICAgIGlmICghcmVzb3VyY2VJZGVudGlmaWVyKSB7Cg==
</data>
<flag name="review"
          id="472123"
          type_id="1"
          status="+"
          setter="heycam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446677</attachid>
            <date>2021-12-10 00:56:11 -0800</date>
            <delta_ts>2021-12-10 11:27:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234108-20211210005610.patch</filename>
            <type>text/plain</type>
            <size>25318</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM4ZDNmODkzODE4ODg1
Njc1ODJhOGRiNjhlODU2ODY5Mjg0MmE5Yi4uZTY4YjNkMDA4MDkwMzgyN2FlZjdiM2M2NDU4MDU5
MzVjYTQxY2I1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIxLTEyLTEwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
W0ZpbHRlcnNdIE1ha2UgRmlsdGVyRWZmZWN0VmVjdG9yIGEgVmVjdG9yIG9mIFJlZjxGaWx0ZXJF
ZmZlY3Q+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzQxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBDYW1lcm9uIE1jQ29ybWFjay4KKworICAgICAg
ICBUaGVyZSBpcyBubyBjYXNlIHRoYXQgd291bGQgcmVxdWlyZSBpbnNlcnRpbmcgYSBudWxscHRy
IGluIEZpbHRlckVmZmVjdFZlY3Rvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3RWZWN0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUFscGhhOjpTb3VyY2VBbHBoYSk6CisgICAgICAgICogcmVuZGVyaW5nL0NTU0ZpbHRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGaWx0ZXI6OmJ1aWxkRmlsdGVyRnVuY3Rpb25zKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZpbHRlcjo6ZWZmZWN0c09mVHlwZSBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6cHJpbWl0aXZlQXR0cmlidXRlQ2hh
bmdlZCk6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFQmxlbmRFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICogc3ZnL1NW
R0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29sb3JN
YXRyaXhFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9zaXRl
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OmJ1
aWxkIGNvbnN0KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6OmJ1aWxkIGNv
bnN0KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6YnVpbGQgY29uc3Qp
OgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50OjpidWlsZCBjb25zdCk6Cisg
ICAgICAgICogc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRkVEcm9wU2hhZG93RWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9T
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VFbGVtZW50OjpidWlsZCBj
b25zdCk6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRkVNb3JwaG9sb2d5RWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAgICAg
ICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVP
ZmZzZXRFbGVtZW50OjpidWlsZCBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJM
aWdodGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudDo6YnVpbGQgY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVGlsZUVsZW1lbnQ6OmJ1aWxkIGNvbnN0KToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRmlsdGVyOjplZmZlY3RzT2ZUeXBlIGNvbnN0KToKKyAgICAgICAgKiBzdmcv
Z3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZpbHRlckJ1aWxkZXI6OmNsZWFyUmVzdWx0c1JlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGaWx0ZXJCdWlsZGVyOjpidWlsZEVmZmVjdEV4cHJlc3Npb24gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyQnVpbGRlcjo6YnVpbGRFeHByZXNzaW9uIGNvbnN0KToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJCdWlsZGVyOjplZmZlY3RSZWZlcmVuY2VzKToKKwogMjAy
MS0xMi0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIFtGaWx0ZXJzXSBBZGQgdGhlIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmb3Ig
RkVJbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA3NmYwZTIxNDI2OGM2MDM0MWU1NDdmNGFhNTc2ZGFjNmViYjEx
MjdmLi4wMGNmZmY0YzM3MTA3ZWZhM2VmZDQ5ZGFkOTY1MjhiNDIxMTlmZTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTEyLTEwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBw
bGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10gW0ZpbHRlcnNdIE1ha2UgRmlsdGVyRWZm
ZWN0VmVjdG9yIGEgVmVjdG9yIG9mIFJlZjxGaWx0ZXJFZmZlY3Q+CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBDYW1lcm9uIE1jQ29ybWFjay4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZURp
c3BsYXlMaXN0UmVjb3JkZXI6OmRyYXdGaWx0ZXJlZEltYWdlQnVmZmVyKToKKwogMjAyMS0xMi0w
OSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVIFBy
b2Nlc3NdIFtGaWx0ZXJzXSBBZGQgdGhlIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmb3IgRkVJbWFn
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCmluZGV4IGU2N2U1MTZi
Mzg3ZTkyZjM4M2UzZGZiYWMxOTZiMjVkMDJiYWJjOTguLjk1Y2M3OWZkMmNkYjAwZjYzOTk5MWFi
MDQ2YmZhYmU0Mzk2MjU3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRl
ci5jcHAKQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFJlY29yZGVyOjpkcmF3RmlsdGVyZWRJbWFn
ZUJ1ZmZlcihJbWFnZUJ1ZmZlciogc291cmNlSW1hZ2UsIGNvbnN0IEZsb2F0UmVjdAogICAgIH0K
IAogICAgIGZvciAoYXV0byYgZWZmZWN0IDogZmlsdGVyLmVmZmVjdHNPZlR5cGUoRmlsdGVyRWZm
ZWN0OjpUeXBlOjpGRUltYWdlKSkgewotICAgICAgICBib29sIGlzUmVjb3JkZWQgPSBXVEY6OnN3
aXRjaE9uKGRvd25jYXN0PEZFSW1hZ2U+KGVmZmVjdC5nZXQoKSktPnNvdXJjZUltYWdlKCksCisg
ICAgICAgIGJvb2wgaXNSZWNvcmRlZCA9IFdURjo6c3dpdGNoT24oZG93bmNhc3Q8RkVJbWFnZT4o
ZWZmZWN0LmdldCgpKS5zb3VyY2VJbWFnZSgpLAogICAgICAgICAgICAgWyZdIChjb25zdCBSZWY8
SW1hZ2U+JiBpbWFnZSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRvIG5hdGl2ZUltYWdlID0g
aW1hZ2UtPm5hdGl2ZUltYWdlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgcmVjb3JkUmVzb3Vy
Y2VVc2UoKm5hdGl2ZUltYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAppbmRleCBhOTM0ODUxZGU0ZjA5
OWRlZDZjMzg0ZTNjMzU0NmEyYjM3NjIzM2IwLi43Yzk1MWZlYTRiZGVkYjIxOTAwNDFkZTcxYzJh
MTdhNmJiNWQxNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCkBAIC0xNDcsMTAgKzE0NywxMCBAQCBS
ZWZQdHI8RmlsdGVySW1hZ2U+IEZpbHRlckVmZmVjdDo6YXBwbHkoY29uc3QgRmlsdGVyJiBmaWx0
ZXIsIGNvbnN0IEZpbHRlckltYWdlVgogICAgIHJldHVybiBtX2ZpbHRlckltYWdlOwogfQogCi1G
aWx0ZXJFZmZlY3QqIEZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QodW5zaWduZWQgbnVtYmVyKSBj
b25zdAorRmlsdGVyRWZmZWN0JiBGaWx0ZXJFZmZlY3Q6OmlucHV0RWZmZWN0KHVuc2lnbmVkIG51
bWJlcikgY29uc3QKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihudW1i
ZXIgPCBtX2lucHV0RWZmZWN0cy5zaXplKCkpOwotICAgIHJldHVybiBtX2lucHV0RWZmZWN0cy5h
dChudW1iZXIpLmdldCgpOworICAgIHJldHVybiBtX2lucHV0RWZmZWN0cy5hdChudW1iZXIpOwog
fQogCiB2b2lkIEZpbHRlckVmZmVjdDo6Y2xlYXJSZXN1bHQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmgKaW5kZXgg
MzZlMDA0NjRjMThkNjcxYmY1ZTA4MjZiMDE2Y2Q3ZDBjZTIyMTA3My4uMDY1MjAwMTdlOWQyMWY3
YWU3NzIzMzFlY2NhYTI3MjdkZTJhZDkwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCkBAIC01MSw3ICs1MSw3
IEBAIHB1YmxpYzoKICAgICBGaWx0ZXJJbWFnZVZlY3RvciB0YWtlSW1hZ2VJbnB1dHMoRmlsdGVy
SW1hZ2VWZWN0b3ImIHN0YWNrKSBjb25zdDsKIAogICAgIEZpbHRlckVmZmVjdFZlY3RvciYgaW5w
dXRFZmZlY3RzKCkgeyByZXR1cm4gbV9pbnB1dEVmZmVjdHM7IH0KLSAgICBGaWx0ZXJFZmZlY3Qq
IGlucHV0RWZmZWN0KHVuc2lnbmVkKSBjb25zdDsKKyAgICBGaWx0ZXJFZmZlY3QmIGlucHV0RWZm
ZWN0KHVuc2lnbmVkKSBjb25zdDsKIAogICAgIFJlZlB0cjxGaWx0ZXJJbWFnZT4gYXBwbHkoY29u
c3QgRmlsdGVyJiwgY29uc3QgRmlsdGVySW1hZ2VWZWN0b3ImIGlucHV0cywgY29uc3Qgc3RkOjpv
cHRpb25hbDxGaWx0ZXJFZmZlY3RHZW9tZXRyeT4mID0gc3RkOjpudWxsb3B0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZl
Y3RWZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyRWZmZWN0VmVjdG9yLmgKaW5kZXggNTYzMDI1ZDJiNGYwNDY2NWFlZmQyMmQ4MGFkMDE2OTRi
YWQzNTk1OC4uNzVmNGM4MzJjZTNhZTE2ZDllYTkyMDljZjg3MmVkYjc4YzBjYjc5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZl
Y3RWZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZpbHRlckVmZmVjdFZlY3Rvci5oCkBAIC0zMSw2ICszMSw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRmlsdGVyRWZmZWN0OwogCi11c2luZyBGaWx0ZXJFZmZlY3RWZWN0b3IgPSBW
ZWN0b3I8UmVmUHRyPEZpbHRlckVmZmVjdD4+OwordXNpbmcgRmlsdGVyRWZmZWN0VmVjdG9yID0g
VmVjdG9yPFJlZjxGaWx0ZXJFZmZlY3Q+PjsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VB
bHBoYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJj
ZUFscGhhLmNwcAppbmRleCA4MWZiZjcwZmM3MjlmYzgyOTQyMGZiYjUwNmIxYjczZTIzMzcxNDdk
Li41Y2Q0YzViZGI5NjM0YmRhMjVmMDJmYWQ3OWEwOWIzOWQ2Y2ZhM2NjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhh
LmNwcApAQCAtNDUsNyArNDUsNyBAQCBTb3VyY2VBbHBoYTo6U291cmNlQWxwaGEoRmlsdGVyRWZm
ZWN0JiBzb3VyY2VFZmZlY3QpCiAgICAgOiBGaWx0ZXJFZmZlY3QoRmlsdGVyRWZmZWN0OjpUeXBl
OjpTb3VyY2VBbHBoYSkKIHsKICAgICBzZXRPcGVyYXRpbmdDb2xvclNwYWNlKHNvdXJjZUVmZmVj
dC5vcGVyYXRpbmdDb2xvclNwYWNlKCkpOwotICAgIGlucHV0RWZmZWN0cygpLmFwcGVuZCgmc291
cmNlRWZmZWN0KTsKKyAgICBpbnB1dEVmZmVjdHMoKS5hcHBlbmQoc291cmNlRWZmZWN0KTsKIH0K
IAogc3RkOjp1bmlxdWVfcHRyPEZpbHRlckVmZmVjdEFwcGxpZXI+IFNvdXJjZUFscGhhOjpjcmVh
dGVBcHBsaWVyKGNvbnN0IEZpbHRlciYpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ1NTRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NG
aWx0ZXIuY3BwCmluZGV4IGExMzI4YTZlY2RkMTI4YjM5OGVmYmMyMGQ3YjExY2VlNzNlOWI0MTYu
Ljg5OTYyMDYzMDQ5OThiNTM1MDdjNzI0NmM3ZmFmNzViZDI3OGU2MjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9DU1NGaWx0ZXIuY3BwCkBAIC0zMTUsNyArMzE1LDcgQEAgYm9vbCBDU1NGaWx0
ZXI6OmJ1aWxkRmlsdGVyRnVuY3Rpb25zKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBG
aWx0ZXJPcGVyYXQKIAogICAgICAgICBpZiAoZWZmZWN0KSB7CiAgICAgICAgICAgICBlZmZlY3Qt
PnNldE9wZXJhdGluZ0NvbG9yU3BhY2UoRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCkpOwot
ICAgICAgICAgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgV1RGTW92ZShwcmV2aW91c0Vm
ZmVjdCkgfTsKKyAgICAgICAgICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IHByZXZpb3Vz
RWZmZWN0LnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICAgICAgICAgIG1fZnVuY3Rpb25zLmFwcGVu
ZCh7ICplZmZlY3QgfSk7CiAgICAgICAgICAgICBwcmV2aW91c0VmZmVjdCA9IFdURk1vdmUoZWZm
ZWN0KTsKICAgICAgICAgfQpAQCAtMzUzLDcgKzM1Myw3IEBAIEZpbHRlckVmZmVjdFZlY3RvciBD
U1NGaWx0ZXI6OmVmZmVjdHNPZlR5cGUoRmlsdGVyRnVuY3Rpb246OlR5cGUgZmlsdGVyVHlwZSkg
Y29uCiAKICAgICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogbV9mdW5jdGlvbnMpIHsKICAgICAgICAg
aWYgKGZ1bmN0aW9uLT5maWx0ZXJUeXBlKCkgPT0gZmlsdGVyVHlwZSkgewotICAgICAgICAgICAg
ZWZmZWN0cy5hcHBlbmQoeyBkb3duY2FzdDxGaWx0ZXJFZmZlY3Q+KGZ1bmN0aW9uLnB0cigpKSB9
KTsKKyAgICAgICAgICAgIGVmZmVjdHMuYXBwZW5kKHsgZG93bmNhc3Q8RmlsdGVyRWZmZWN0Pihm
dW5jdGlvbi5nZXQoKSkgfSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
RmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIuY3BwCmluZGV4IDQzNDg4Njg0YWE2NTc3ZTg5Y2U1ZjI5NDc0OWE0OTMyNjM1MTRm
NzkuLjc1MTJiZmMyMDY5NGZkZWU5NmU5NmU0MmMwOTZmZjllNjVlMmE1ZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIuY3BwCkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6
cHJpbWl0aXZlQXR0cmlidXRlQ2hhbmdlZChSZW5kZXJPYmplY3QqIG9iamVjdCwgY28KICAgICAg
ICAgLy8gb3Igbm9uZSBvZiB0aGVtIHdpbGwgYmUgY2hhbmdlZC4KICAgICAgICAgaWYgKCFwcmlt
aXR2ZS0+c2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKGVmZmVjdCwgYXR0cmlidXRlKSkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgYnVpbGRlci0+Y2xlYXJSZXN1bHRzUmVjdXJzaXZlKGVm
ZmVjdCk7CisgICAgICAgIGJ1aWxkZXItPmNsZWFyUmVzdWx0c1JlY3Vyc2l2ZSgqZWZmZWN0KTsK
IAogICAgICAgICAvLyBSZXBhaW50IHRoZSBpbWFnZSBvbiB0aGUgc2NyZWVuLgogICAgICAgICBt
YXJrQ2xpZW50Rm9ySW52YWxpZGF0aW9uKCpvYmplY3RGaWx0ZXJEYXRhUGFpci5rZXksIFJlcGFp
bnRJbnZhbGlkYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxl
bmRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAK
aW5kZXggMDU0MGM4ZTQ0MDgyZDVjNjFmMDBmOGZiNzM1YzM2MTgyZDEwZmE3Zi4uZWMyNjRkZmRl
OTQ3OThkZDRkZDIwMDQxMDNkYjk1NjVhODA5MzA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVCbGVuZEVsZW1lbnQuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgUmVmUHRyPEZpbHRlckVmZmVj
dD4gU1ZHRkVCbGVuZEVsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aWxk
ZXIpIGMKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBhdXRvIGVmZmVjdCA9IEZFQmxl
bmQ6OmNyZWF0ZShtb2RlKCkpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1v
dmUoaW5wdXQxKSwgV1RGTW92ZShpbnB1dDIpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMo
KSA9IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCksIGlucHV0Mi5yZWxlYXNlTm9uTnVsbCgpIH07
CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNv
bG9yTWF0cml4RWxlbWVudC5jcHAKaW5kZXggY2RlYmVmMThhMWZkY2JiOGYzZmIzNWZiODM4YWM2
MDRjOWEyM2Q2NS4uZjhiNjNiYTY4Yjc3MTIzNmI0MjgxMzA3OTk3YjllMDAzNTZiNDE5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aWwKICAgICB9CiAKICAgICBhdXRv
IGVmZmVjdCA9IEZFQ29sb3JNYXRyaXg6OmNyZWF0ZShmaWx0ZXJUeXBlLCBXVEZNb3ZlKGZpbHRl
clZhbHVlcykpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1vdmUoaW5wdXQx
KSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IGlucHV0MS5yZWxlYXNlTm9uTnVs
bCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAKaW5kZXggNWVkYjg5ZDBkMjU5
MjU4ZmU2ZWNkOTU2NzdhNWQ2MjA0MTQwZGU0Yi4uMWE1ZThlN2EzYTY5M2IyM2JmZGEzMjdjMGUx
ZmIzNDc1Nzc0YTZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9u
ZW50VHJhbnNmZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21w
b25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIFJlZlB0cjxGaWx0ZXJF
ZmZlY3Q+IFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWls
ZGVyJiBmaWx0CiAgICAgfQogCiAgICAgYXV0byBlZmZlY3QgPSBGRUNvbXBvbmVudFRyYW5zZmVy
OjpjcmVhdGUocmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZl
Y3RzKCkgPSB7IFdURk1vdmUoaW5wdXQxKSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkg
PSB7IGlucHV0MS5yZWxlYXNlTm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcAppbmRleCA3ZmNl
ZDJlNjQ1NTQwZTNiOWRkMDk2Y2JlNDk5MWY1ODQxNTUwNTE0Li42MDQ0NDkyMTdlZmEwYTcxZGRl
OTFiYzNiZTVlOTZhZjA4MGE2OTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVDb21wb3NpdGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21w
b3NpdGVFbGVtZW50LmNwcApAQCAtMTQwLDcgKzE0MCw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+
IFNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdGVyQnVp
bGRlCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byBlZmZlY3QgPSBGRUNvbXBv
c2l0ZTo6Y3JlYXRlKHN2Z09wZXJhdG9yKCksIGsxKCksIGsyKCksIGszKCksIGs0KCkpOwotICAg
IGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1vdmUoaW5wdXQxKSwgV1RGTW92ZShpbnB1
dDIpIH07CisgICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsgaW5wdXQxLnJlbGVhc2VOb25O
dWxsKCksIGlucHV0Mi5yZWxlYXNlTm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5j
cHAKaW5kZXggNDhjOTBiMjA0N2MyNDA1YjA2ODMwNDE1N2M1YmIxZWY4MzliN2Y3Yy4uNjM3YWE3
MTllODNiMmExZWExMjQ5ODRhZjE5MjkwMzJhM2RmODQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3BwCkBAIC0yNDcsNyArMjQ3LDcg
QEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6OmJ1aWxk
KFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckIKICAgICB9CiAKICAgICBhdXRvIGVmZmVjdCA9IEZF
Q29udm9sdmVNYXRyaXg6OmNyZWF0ZShJbnRTaXplKG9yZGVyWFZhbHVlLCBvcmRlcllWYWx1ZSks
IGRpdmlzb3JWYWx1ZSwgYmlhcygpLCBJbnRQb2ludCh0YXJnZXRYVmFsdWUsIHRhcmdldFlWYWx1
ZSksIGVkZ2VNb2RlKCksIEZsb2F0UG9pbnQoa2VybmVsVW5pdExlbmd0aFhWYWx1ZSwga2VybmVs
VW5pdExlbmd0aFlWYWx1ZSksIHByZXNlcnZlQWxwaGEoKSwga2VybmVsTWF0cml4KTsKLSAgICBl
ZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAgICBlZmZlY3Qt
PmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVy
biBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxp
Z2h0aW5nRWxlbWVudC5jcHAKaW5kZXggZGQzOTQ1OTVjZjcyNjQ4YTY3ZDUyOGExMzQxNTFkYTM2
N2Y0YzY5OS4uZDdlM2I4OTlkYzk1NjljMjAzYmU3OWUwN2MzMTkyN2I1Y2M4MzE4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAK
QEAgLTE3MSw3ICsxNzEsNyBAQCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlcgogICAgIENvbG9yIGNv
bG9yID0gcmVuZGVyZXItPnN0eWxlKCkuY29sb3JCeUFwcGx5aW5nQ29sb3JGaWx0ZXIocmVuZGVy
ZXItPnN0eWxlKCkuc3ZnU3R5bGUoKS5saWdodGluZ0NvbG9yKCkpOwogCiAgICAgYXV0byBlZmZl
Y3QgPSBGRURpZmZ1c2VMaWdodGluZzo6Y3JlYXRlKGNvbG9yLCBzdXJmYWNlU2NhbGUoKSwgZGlm
ZnVzZUNvbnN0YW50KCksIGtlcm5lbFVuaXRMZW5ndGhYKCksIGtlcm5lbFVuaXRMZW5ndGhZKCks
IFdURk1vdmUobGlnaHRTb3VyY2UpKTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBX
VEZNb3ZlKGlucHV0MSkgfTsKKyAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEu
cmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKaW5kZXggNjkw
NzUxMzc1MDdkNmM2NDc0OWExYzhiYzQxMmEwYWVlNTFhMWEyZC4uMDliZDlhODJiNGZjNzkwNjFi
OTMxMDFlZmQ5OGQ1NTk0NjA1NmE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBSZWZQdHI8
RmlsdGVyRWZmZWN0PiBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRl
ckJ1aWxkZXImIGZpbHRlcgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZWZm
ZWN0ID0gRkVEaXNwbGFjZW1lbnRNYXA6OmNyZWF0ZSh4Q2hhbm5lbFNlbGVjdG9yKCksIHlDaGFu
bmVsU2VsZWN0b3IoKSwgc2NhbGUoKSk7Ci0gICAgZWZmZWN0LT5pbnB1dEVmZmVjdHMoKSA9IHsg
V1RGTW92ZShpbnB1dDEpLCBXVEZNb3ZlKGlucHV0MikgfTsKKyAgICBlZmZlY3QtPmlucHV0RWZm
ZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSwgaW5wdXQyLnJlbGVhc2VOb25OdWxs
KCkgfTsKICAgICByZXR1cm4gZWZmZWN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5jcHAKaW5kZXggNjU3YWMxNzVhMzA4ODFlNTNmYmZmNzA4ZGNm
MTQxNjA1ZTg0MDkwNy4uYzFkZWRiNzg1YTAwOTNjYjBjYmE0MTUxZWMzYzY2NDIzMTgxNjYyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmNwcApAQCAt
MTE2LDcgKzExNiw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXImIGZpbHRlckJ1aWxkCiAgICAgZmxvYXQgb3BhY2l0
eSA9IHN2Z1N0eWxlLmZsb29kT3BhY2l0eSgpOwogCiAgICAgYXV0byBlZmZlY3QgPSBGRURyb3BT
aGFkb3c6OmNyZWF0ZShzdGREZXZpYXRpb25YKCksIHN0ZERldmlhdGlvblkoKSwgZHgoKSwgZHko
KSwgY29sb3IsIG9wYWNpdHkpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IFdURk1v
dmUoaW5wdXQxKSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7IGlucHV0MS5yZWxl
YXNlTm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAppbmRleCBhMDkwNGZiNTI3MWEw
ODZjNjU0ZTc5NmU0YzI1NTU4Y2E3YzAxMDgxLi5jMWE5NjM2MTBkZjc3OWQ1MzdmM2U5YWI1M2Qy
YjJmODUwNDQwZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lh
bkJsdXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNW
R0ZFR2F1c3NpYW5CbHVyRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdGVyQnVp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byBlZmZlY3QgPSBGRUdhdXNzaWFu
Qmx1cjo6Y3JlYXRlKHN0ZERldmlhdGlvblgoKSwgc3RkRGV2aWF0aW9uWSgpLCBlZGdlTW9kZSgp
KTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAg
ICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9Owog
ICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRU1lcmdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1l
bnQuY3BwCmluZGV4IDg1NzMzN2JjM2M5MDc1NWI1Y2Y4ZDFhYjExY2E4ZWZkMzBjMzYyNGEuLmJj
MzRlNzhlMDBkZjcxNmY3MTcxZWVmOWRkNzgyZDQ1YWMzNmJlMWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcApAQCAtNTMsNyArNTMsNyBAQCBSZWZQdHI8RmlsdGVy
RWZmZWN0PiBTVkdGRU1lcmdlRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdGVy
QnVpbGRlcikgYwogICAgICAgICBhdXRvIG1lcmdlRWZmZWN0ID0gZmlsdGVyQnVpbGRlci5nZXRF
ZmZlY3RCeUlkKG1lcmdlTm9kZS5pbjEoKSk7CiAgICAgICAgIGlmICghbWVyZ2VFZmZlY3QpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgbWVyZ2VJbnB1dHMuYXBwZW5kKFdU
Rk1vdmUobWVyZ2VFZmZlY3QpKTsKKyAgICAgICAgbWVyZ2VJbnB1dHMuYXBwZW5kKG1lcmdlRWZm
ZWN0LnJlbGVhc2VOb25OdWxsKCkpOwogICAgIH0KIAogICAgIG1lcmdlSW5wdXRzLnNocmlua1Rv
Rml0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5jcHAK
aW5kZXggMDFjY2E0ODY4YjJlOWQzYjZjNmZkZDA3ZDc3ZGM3MTU3MDM4YTliZC4uY2IwYjZhYzY3
NzI1ZmMwZWY3OWNjZjMxMmY2ZjRmMmUxYjZhYjRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcApAQCAtMTI2LDcgKzEyNiw3IEBAIFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+IFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQ6OmJ1aWxkKFNWR0ZpbHRlckJ1aWxk
ZXImIGZpbHRlckJ1aWxkCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byBlZmZl
Y3QgPSBGRU1vcnBob2xvZ3k6OmNyZWF0ZShzdmdPcGVyYXRvcigpLCB4UmFkaXVzLCB5UmFkaXVz
KTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAg
ICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0geyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9Owog
ICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRU9mZnNldEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxl
bWVudC5jcHAKaW5kZXggMzM3OTBhNmE1NDAxMjc5ZmIyOGMyM2ZkOTRkZTliNTUyMDlmN2EzYy4u
ZWUwNjM5Y2IzNDczZTYxZTZmNDc4MTNmMWZiODY3NmNlMDdhZDY3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgUmVmUHRyPEZp
bHRlckVmZmVjdD4gU1ZHRkVPZmZzZXRFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVyJiBm
aWx0ZXJCdWlsZGVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZWZmZWN0
ID0gRkVPZmZzZXQ6OmNyZWF0ZShkeCgpLCBkeSgpKTsKLSAgICBlZmZlY3QtPmlucHV0RWZmZWN0
cygpID0geyBXVEZNb3ZlKGlucHV0MSkgfTsKKyAgICBlZmZlY3QtPmlucHV0RWZmZWN0cygpID0g
eyBpbnB1dDEucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIHJldHVybiBlZmZlY3Q7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNw
cAppbmRleCBkMjg5NDNhMjMzYzVmMzBhMjc0NTYyY2RlYjQxM2JhZWUyZDU1ZjdlLi5jZDdlNzJk
OWZiZDYwOTI4MDAzZjAyMWU2NzllMTMwZDE4N2JjNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCkBAIC0xNzksNyArMTc5
LDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6
YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciYgZmlsdGUKICAgICBDb2xvciBjb2xvciA9IHJlbmRlcmVy
LT5zdHlsZSgpLmNvbG9yQnlBcHBseWluZ0NvbG9yRmlsdGVyKHJlbmRlcmVyLT5zdHlsZSgpLnN2
Z1N0eWxlKCkubGlnaHRpbmdDb2xvcigpKTsKIAogICAgIGF1dG8gZWZmZWN0ID0gRkVTcGVjdWxh
ckxpZ2h0aW5nOjpjcmVhdGUoY29sb3IsIHN1cmZhY2VTY2FsZSgpLCBzcGVjdWxhckNvbnN0YW50
KCksIHNwZWN1bGFyRXhwb25lbnQoKSwga2VybmVsVW5pdExlbmd0aFgoKSwga2VybmVsVW5pdExl
bmd0aFkoKSwgV1RGTW92ZShsaWdodFNvdXJjZSkpOwotICAgIGVmZmVjdC0+aW5wdXRFZmZlY3Rz
KCkgPSB7IFdURk1vdmUoaW5wdXQxKSB9OworICAgIGVmZmVjdC0+aW5wdXRFZmZlY3RzKCkgPSB7
IGlucHV0MS5yZWxlYXNlTm9uTnVsbCgpIH07CiAgICAgcmV0dXJuIGVmZmVjdDsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCmluZGV4IGFhY2UyZjM0MzEzZGNmZmFi
OGNhZDNhNTJlZTM5NTNkNzEwMDNmNGYuLmVmOGQ0MDhiNmI4YjViMzQ1MzkwOGU4ZDVmNGMwYzUx
OTg0NzQ5MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHAKQEAgLTc3
LDcgKzc3LDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVUaWxlRWxlbWVudDo6YnVpbGQo
U1ZHRmlsdGVyQnVpbGRlciYgZmlsdGVyQnVpbGRlcikgY28KICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKICAgICBhdXRvIGVmZmVjdCA9IEZFVGlsZTo6Y3JlYXRlKCk7Ci0gICAgZWZmZWN0LT5p
bnB1dEVmZmVjdHMoKSA9IHsgV1RGTW92ZShpbnB1dDEpIH07CisgICAgZWZmZWN0LT5pbnB1dEVm
ZmVjdHMoKSA9IHsgaW5wdXQxLnJlbGVhc2VOb25OdWxsKCkgfTsKICAgICByZXR1cm4gZWZmZWN0
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9T
VkdGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmls
dGVyLmNwcAppbmRleCBjNTU2MTY3Mjc5MWZkZWVjNmQwMmU4MWQzZGRmZGY2ODI0NzcyYWU0Li42
ZTBiNDQ5YTFhYjk0NDJkNzc1YTEwZjhkNTg2Yjk0NzQ3MGUyNmQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAKQEAgLTExOSwxMiAr
MTE5LDEyIEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNWR0ZpbHRlcjo6bGFzdEVmZmVjdCgpIGNv
bnN0CiAKIEZpbHRlckVmZmVjdFZlY3RvciBTVkdGaWx0ZXI6OmVmZmVjdHNPZlR5cGUoRmlsdGVy
RnVuY3Rpb246OlR5cGUgZmlsdGVyVHlwZSkgY29uc3QKIHsKLSAgICBIYXNoU2V0PFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+PiBlZmZlY3RzOworICAgIEhhc2hTZXQ8UmVmPEZpbHRlckVmZmVjdD4+IGVm
ZmVjdHM7CiAKICAgICBmb3IgKGF1dG8mIHRlcm0gOiBtX2V4cHJlc3Npb24pIHsKICAgICAgICAg
YXV0byYgZWZmZWN0ID0gdGVybS5lZmZlY3Q7CiAgICAgICAgIGlmIChlZmZlY3QtPmZpbHRlclR5
cGUoKSA9PSBmaWx0ZXJUeXBlKQotICAgICAgICAgICAgZWZmZWN0cy5hZGQoeyBlZmZlY3QucHRy
KCkgfSk7CisgICAgICAgICAgICBlZmZlY3RzLmFkZChlZmZlY3QpOwogICAgIH0KIAogICAgIHJl
dHVybiBjb3B5VG9WZWN0b3IoZWZmZWN0cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwCmluZGV4IDg5YjA1NmQx
ZDhjMDhiMjljOTAxNjBjYzVkYzM5MmNkNWM0YWEzMGYuLjFhMGM1MmM0YWViZGY1OTRlMDA3NzIy
YzYzMTVkYjZiNmJkNzg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9n
cmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwCkBAIC0xNzEsMTUgKzE3MSwxNSBA
QCB2b2lkIFNWR0ZpbHRlckJ1aWxkZXI6OmNsZWFyRWZmZWN0cygpCiAgICAgYWRkQnVpbHRpbkVm
ZmVjdHMoKTsKIH0KIAotdm9pZCBTVkdGaWx0ZXJCdWlsZGVyOjpjbGVhclJlc3VsdHNSZWN1cnNp
dmUoRmlsdGVyRWZmZWN0KiBlZmZlY3QpCit2b2lkIFNWR0ZpbHRlckJ1aWxkZXI6OmNsZWFyUmVz
dWx0c1JlY3Vyc2l2ZShGaWx0ZXJFZmZlY3QmIGVmZmVjdCkKIHsKLSAgICBpZiAoIWVmZmVjdC0+
aGFzUmVzdWx0KCkpCisgICAgaWYgKCFlZmZlY3QuaGFzUmVzdWx0KCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGVmZmVjdC0+Y2xlYXJSZXN1bHQoKTsKKyAgICBlZmZlY3QuY2xlYXJSZXN1bHQo
KTsKIAogICAgIGZvciAoYXV0byYgcmVmZXJlbmNlIDogZWZmZWN0UmVmZXJlbmNlcyhlZmZlY3Qp
KQotICAgICAgICBjbGVhclJlc3VsdHNSZWN1cnNpdmUocmVmZXJlbmNlKTsKKyAgICAgICAgY2xl
YXJSZXN1bHRzUmVjdXJzaXZlKCpyZWZlcmVuY2UpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEZpbHRl
ckVmZmVjdEdlb21ldHJ5PiBTVkdGaWx0ZXJCdWlsZGVyOjplZmZlY3RHZW9tZXRyeShGaWx0ZXJF
ZmZlY3QmIGVmZmVjdCkgY29uc3QKQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGQ6Om9wdGlvbmFsPEZp
bHRlckVmZmVjdEdlb21ldHJ5PiBTVkdGaWx0ZXJCdWlsZGVyOjplZmZlY3RHZW9tZXRyeShGaWx0
ZXJFZmZlYwogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CiAKLWJvb2wgU1ZHRmlsdGVyQnVp
bGRlcjo6YnVpbGRFZmZlY3RFeHByZXNzaW9uKGNvbnN0IFJlZlB0cjxGaWx0ZXJFZmZlY3Q+JiBl
ZmZlY3QsIEZpbHRlckVmZmVjdFZlY3RvciYgc3RhY2ssIHVuc2lnbmVkIGxldmVsLCBTVkdGaWx0
ZXJFeHByZXNzaW9uJiBleHByZXNzaW9uKSBjb25zdAorYm9vbCBTVkdGaWx0ZXJCdWlsZGVyOjpi
dWlsZEVmZmVjdEV4cHJlc3Npb24oRmlsdGVyRWZmZWN0JiBlZmZlY3QsIEZpbHRlckVmZmVjdFZl
Y3RvciYgc3RhY2ssIHVuc2lnbmVkIGxldmVsLCBTVkdGaWx0ZXJFeHByZXNzaW9uJiBleHByZXNz
aW9uKSBjb25zdAogewogICAgIC8vIEEgY3ljbGUgaXMgZGV0ZWN0ZWQuCiAgICAgaWYgKHN0YWNr
LmNvbnRhaW5zKGVmZmVjdCkpCkBAIC0xOTgsOSArMTk4LDkgQEAgYm9vbCBTVkdGaWx0ZXJCdWls
ZGVyOjpidWlsZEVmZmVjdEV4cHJlc3Npb24oY29uc3QgUmVmUHRyPEZpbHRlckVmZmVjdD4mIGVm
ZmVjdCwKIAogICAgIHN0YWNrLmFwcGVuZChlZmZlY3QpOwogICAgIAotICAgIGV4cHJlc3Npb24u
YXBwZW5kKHsgKmVmZmVjdCwgZWZmZWN0R2VvbWV0cnkoKmVmZmVjdCksIGxldmVsIH0pOworICAg
IGV4cHJlc3Npb24uYXBwZW5kKHsgZWZmZWN0LCBlZmZlY3RHZW9tZXRyeShlZmZlY3QpLCBsZXZl
bCB9KTsKIAotICAgIGZvciAoYXV0byYgaW5wdXRFZmZlY3QgOiBlZmZlY3QtPmlucHV0RWZmZWN0
cygpKSB7CisgICAgZm9yIChhdXRvJiBpbnB1dEVmZmVjdCA6IGVmZmVjdC5pbnB1dEVmZmVjdHMo
KSkgewogICAgICAgICBpZiAoIWJ1aWxkRWZmZWN0RXhwcmVzc2lvbihpbnB1dEVmZmVjdCwgc3Rh
Y2ssIGxldmVsICsgMSwgZXhwcmVzc2lvbikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQpAQCAtMjE4LDcgKzIxOCw3IEBAIGJvb2wgU1ZHRmlsdGVyQnVpbGRlcjo6YnVpbGRFeHBy
ZXNzaW9uKFNWR0ZpbHRlckV4cHJlc3Npb24mIGV4cHJlc3Npb24pIGNvbnN0CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIEZpbHRlckVmZmVjdFZlY3RvciBzdGFjazsKLSAgICBpZiAoIWJ1
aWxkRWZmZWN0RXhwcmVzc2lvbihtX2xhc3RFZmZlY3QsIHN0YWNrLCAwLCBleHByZXNzaW9uKSkK
KyAgICBpZiAoIWJ1aWxkRWZmZWN0RXhwcmVzc2lvbigqbV9sYXN0RWZmZWN0LCBzdGFjaywgMCwg
ZXhwcmVzc2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChleHByZXNzaW9u
LnNpemUoKSA+IG1heFRvdGFsTnVtYmVyRmlsdGVyRWZmZWN0cykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuaAppbmRleCAw
Nzk5MjVlNDUxODdlMmQwNTNjMWMwYzNkYTI1MzVmMmU4NzU4NTdlLi4xZDZjMjA4NGRhMjE2MTY1
ZTFmYWIyYjkxNzIwOWU5YTJhNzAxNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
Z3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXJCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyQnVpbGRlci5oCkBAIC01NCwxOCArNTQsMTgg
QEAgcHVibGljOgogCiAgICAgdm9pZCBhcHBlbmRFZmZlY3RUb0VmZmVjdFJlZmVyZW5jZXMoUmVm
UHRyPEZpbHRlckVmZmVjdD4mJiwgUmVuZGVyT2JqZWN0Kik7CiAKLSAgICBpbmxpbmUgRmlsdGVy
RWZmZWN0U2V0JiBlZmZlY3RSZWZlcmVuY2VzKEZpbHRlckVmZmVjdCogZWZmZWN0KQorICAgIGlu
bGluZSBGaWx0ZXJFZmZlY3RTZXQmIGVmZmVjdFJlZmVyZW5jZXMoRmlsdGVyRWZmZWN0JiBlZmZl
Y3QpCiAgICAgewogICAgICAgICAvLyBPbmx5IGFsbG93ZWQgZm9yIGVmZmVjdHMgYmVsb25ncyB0
byB0aGlzIGJ1aWxkZXIuCi0gICAgICAgIEFTU0VSVChtX2VmZmVjdFJlZmVyZW5jZXMuY29udGFp
bnMoZWZmZWN0KSk7Ci0gICAgICAgIHJldHVybiBtX2VmZmVjdFJlZmVyZW5jZXMuZmluZChlZmZl
Y3QpLT52YWx1ZTsKKyAgICAgICAgQVNTRVJUKG1fZWZmZWN0UmVmZXJlbmNlcy5jb250YWlucygm
ZWZmZWN0KSk7CisgICAgICAgIHJldHVybiBtX2VmZmVjdFJlZmVyZW5jZXMuZmluZCgmZWZmZWN0
KS0+dmFsdWU7CiAgICAgfQogCiAgICAgLy8gUmVxdWlyZWQgdG8gY2hhbmdlIHRoZSBhdHRyaWJ1
dGVzIG9mIGEgZmlsdGVyIGR1cmluZyBhbiBzdmdBdHRyaWJ1dGVDaGFuZ2VkLgogICAgIGlubGlu
ZSBGaWx0ZXJFZmZlY3QqIGVmZmVjdEJ5UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpIHsg
cmV0dXJuIG1fZWZmZWN0UmVuZGVyZXIuZ2V0KG9iamVjdCk7IH0KIAogICAgIHZvaWQgY2xlYXJF
ZmZlY3RzKCk7Ci0gICAgdm9pZCBjbGVhclJlc3VsdHNSZWN1cnNpdmUoRmlsdGVyRWZmZWN0Kik7
CisgICAgdm9pZCBjbGVhclJlc3VsdHNSZWN1cnNpdmUoRmlsdGVyRWZmZWN0Jik7CiAKICAgICB2
b2lkIHNldHVwQnVpbHRpbkVmZmVjdHMoUmVmPEZpbHRlckVmZmVjdD4gc291cmNlR3JhcGhpYyk7
CiAgICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGRGaWx0ZXJFZmZlY3RzKFNWR0ZpbHRlckVs
ZW1lbnQmKTsKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBzdGQ6Om9w
dGlvbmFsPEZpbHRlckVmZmVjdEdlb21ldHJ5PiBlZmZlY3RHZW9tZXRyeShGaWx0ZXJFZmZlY3Qm
KSBjb25zdDsKLSAgICBib29sIGJ1aWxkRWZmZWN0RXhwcmVzc2lvbihjb25zdCBSZWZQdHI8Rmls
dGVyRWZmZWN0PiYsIEZpbHRlckVmZmVjdFZlY3RvciYgc3RhY2ssIHVuc2lnbmVkIGxldmVsLCBT
VkdGaWx0ZXJFeHByZXNzaW9uJikgY29uc3Q7CisgICAgYm9vbCBidWlsZEVmZmVjdEV4cHJlc3Np
b24oRmlsdGVyRWZmZWN0JiwgRmlsdGVyRWZmZWN0VmVjdG9yJiBzdGFjaywgdW5zaWduZWQgbGV2
ZWwsIFNWR0ZpbHRlckV4cHJlc3Npb24mKSBjb25zdDsKIAogICAgIEhhc2hNYXA8QXRvbVN0cmlu
ZywgUmVmUHRyPEZpbHRlckVmZmVjdD4+IG1fYnVpbHRpbkVmZmVjdHM7CiAgICAgSGFzaE1hcDxB
dG9tU3RyaW5nLCBSZWZQdHI8RmlsdGVyRWZmZWN0Pj4gbV9uYW1lZEVmZmVjdHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RS
ZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlz
cGxheUxpc3RSZWNvcmRlci5jcHAKaW5kZXggOGZlZWEyZWZmY2I1ZjhhMDJmYjU3YmUyMGRhYzFh
ZDBjOWYyOWJjYi4uZThmNmY3YmUxOTU2ZTZjYWM0NDIxZTVhYTM0NjE3OTU0NzY5ZmYwZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlM
aXN0UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMjM2LDcgKzIzNiw3IEBAIHZvaWQgUmVt
b3RlRGlzcGxheUxpc3RSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIoc3RkOjpvcHRp
b25hbDxSZW5kZXJpbmdSCiAgICAgYXV0byBmaWx0ZXIgPSBmaWx0ZXJSZWZlcmVuY2UudGFrZUZp
bHRlcigpOwogCiAgICAgZm9yIChhdXRvJiBlZmZlY3QgOiBmaWx0ZXItPmVmZmVjdHNPZlR5cGUo
RmlsdGVyRWZmZWN0OjpUeXBlOjpGRUltYWdlKSkgewotICAgICAgICBhdXRvJiBmZUltYWdlID0g
KmRvd25jYXN0PEZFSW1hZ2U+KGVmZmVjdC5nZXQoKSk7CisgICAgICAgIGF1dG8mIGZlSW1hZ2Ug
PSBkb3duY2FzdDxGRUltYWdlPihlZmZlY3QuZ2V0KCkpOwogCiAgICAgICAgIGNvbnN0IGF1dG8q
IHJlc291cmNlSWRlbnRpZmllciA9IHN0ZDo6Z2V0X2lmPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
Zmllcj4oJmZlSW1hZ2Uuc291cmNlSW1hZ2UoKSk7CiAgICAgICAgIGlmICghcmVzb3VyY2VJZGVu
dGlmaWVyKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>