<?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>225054</bug_id>
          
          <creation_ts>2021-04-26 09:03:48 -0700</creation_ts>
          <short_desc>[iOS] Coalesce adjacent selection geometries when rendering individual selection quads</short_desc>
          <delta_ts>2021-04-28 18:37:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>pdr</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1754207</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-26 09:03:48 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754619</commentid>
    <comment_count>1</comment_count>
      <attachid>427152</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-27 08:32:47 -0700</bug_when>
    <thetext>Created attachment 427152
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754625</commentid>
    <comment_count>2</comment_count>
      <attachid>427153</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-27 08:49:02 -0700</bug_when>
    <thetext>Created attachment 427153
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755145</commentid>
    <comment_count>3</comment_count>
      <attachid>427153</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-28 13:32:14 -0700</bug_when>
    <thetext>Comment on attachment 427153
For EWS

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

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:1349
&gt; +static Optional&lt;SimpleRange&gt; canonicalizeForImageOverlay(const SimpleRange&amp; range)

Can this be more specific than &quot;canonicalize&quot; which pretty much means nothing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755148</commentid>
    <comment_count>4</comment_count>
      <attachid>427153</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-28 13:33:00 -0700</bug_when>
    <thetext>Comment on attachment 427153
For EWS

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

&gt;&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:1349
&gt;&gt; +static Optional&lt;SimpleRange&gt; canonicalizeForImageOverlay(const SimpleRange&amp; range)
&gt; 
&gt; Can this be more specific than &quot;canonicalize&quot; which pretty much means nothing?

Good point. How about &quot;expandForImageOverlay&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755161</commentid>
    <comment_count>5</comment_count>
      <attachid>427293</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-28 14:24:19 -0700</bug_when>
    <thetext>Created attachment 427293
Renaming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755280</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-28 18:36:41 -0700</bug_when>
    <thetext>Committed r276746 (237146@main): &lt;https://commits.webkit.org/237146@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427293.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755282</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-28 18:37:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/77296813&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427152</attachid>
            <date>2021-04-27 08:32:47 -0700</date>
            <delta_ts>2021-04-27 08:49:51 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-225054-20210427083246.patch</filename>
            <type>text/plain</type>
            <size>15770</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI1NjY5OGFjNjE5Y2Fh
N2Q1MDQ1NjQxMTNmMDUzNmI3MDE0OGI0NS4uNGI2YjhkMGJiY2UyYTQwZjBmYjUwYzEwZWY0NzYw
ZGE5MGU1MDc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA0LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIENvYWxl
c2NlIGFkamFjZW50IHNlbGVjdGlvbiBnZW9tZXRyaWVzIHdoZW4gcmVuZGVyaW5nIGluZGl2aWR1
YWwgc2VsZWN0aW9uIHF1YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjUwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgYSBoZXVyaXN0aWMgdG8gY29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9u
IGdlb21ldHJpZXMgd2hlbiBgU2VsZWN0aW9uUmVuZGVyaW5nQmVoYXZpb3I6OlVzZUluZGl2aWR1
YWxRdWFkc2AKKyAgICAgICAgaXMgYWN0aXZlLiBDdXJyZW50bHksIHdlIHBhc3MgdGhlbSBkaXJl
Y3RseSB0aHJvdWdoIHRvIHRoZSBsaXN0IG9mIGNvYWxlc2NlZCBnZW9tZXRyaWVzIGluc2lkZQor
ICAgICAgICBgUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllc2AsIGJ1dCB0
aGlzIGNhbiBsZWFkIHRvIGFsbW9zdCBwZXJmZWN0bHkgYWRqYWNlbnQgc2VsZWN0aW9uIHF1YWRz
CisgICAgICAgIHNob3dpbmcgYSBuYXJyb3cgZ2FwIGluIGJldHdlZW4gdGhlaXIgc2VsZWN0aW9u
IHZpZXdzLgorCisgICAgICAgIEluc3RlYWQsIHdlIGNhbiBkZXRlY3QgdGhpcyBjYXNlIHdoZXJl
IG5laWdoYm9yaW5nIHF1YWRzIGNhbiBiZSB1bml0ZWQgaW50byBhIHNpbmdsZSBxdWFkIHdpdGhv
dXQgc2lnbmlmaWNhbnRseQorICAgICAgICBjaGFuZ2luZyB0aGUgZ2VvbWV0cnkuIFJhdGhlciB0
aGFuIGFwcGVuZCB0aGUgbmV3IHNlbGVjdGlvbiBnZW9tZXRyeSBpbiB0aGlzIGNhc2UsIHdlIHNp
bXBseSBhZGp1c3QgdGhlIGxhc3QKKyAgICAgICAgc2VsZWN0aW9uIGdlb21ldHJ5J3MgcXVhZCBz
byB0aGF0IGl0IGVuY29tcGFzc2VzIHRoZSBuZXcgc2VsZWN0aW9uIGdlb21ldHJ5IGFzIHdlbGws
IGJ5IGV4dGVuZGluZyB0aGUgdG9wIHJpZ2h0CisgICAgICAgIGFuZCBib3R0b20gcmlnaHQgZXh0
ZW50IHBvaW50cyBvZiB0aGUgbGFzdCBzZWxlY3Rpb24gcXVhZCB0byB0aGUgbmV3IHNlbGVjdGlv
biBxdWFkJ3MgZXh0ZW50IHBvaW50cy4KKworICAgICAgICBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9j
b2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCisKKyAgICAgICAg
KiBodG1sL0hUTUxFbGVtZW50Lmg6IGBXRUJDT1JFX0VYUE9SVGAgYSBjb3VwbGUgb2YgaGVscGVy
IG1ldGhvZHMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzSW50ZXJu
YWwpOgorCisgICAgICAgIEF2b2lkIHNvcnRpbmcgc2VsZWN0aW9uIGdlb21ldHJpZXMgYnkgYm91
bmRpbmcgcmVjdCBgbG9naWNhbExlZnRgIGluIHRoZSBjYXNlIHdoZXJlIHdlJ3JlIG5vdCBjb2Fs
ZXNjaW5nCisgICAgICAgIGJvdW5kaW5nIHJlY3RzIChhbmQgYWxzbyB1cGRhdGUgdGhlIHByZWNl
ZGluZyBjb21tZW50IGFjY29yZGluZ2x5KS4KKworICAgICAgICAoV2ViQ29yZTo6Y29hbGVzY2VT
ZWxlY3Rpb25HZW9tZXRyeVdpdGhBZGphY2VudFF1YWRzSWZQb3NzaWJsZSk6CisKKyAgICAgICAg
QWRkIGEgbmV3IGhlbHBlciB0byB1bml0ZSBuZWlnaGJvcmluZyBxdWFkcyBpZjogKDEpIHRoZSB0
b3AgcmlnaHQgYW5kIGJvdHRvbSByaWdodCBvZiB0aGUgY3VycmVudCBxdWFkIGFyZSB2ZXJ5Cisg
ICAgICAgIGNsb3NlIHRvIHRoZSB0b3AgbGVmdCBhbmQgYm90dG9tIGxlZnQgb2YgdGhlIG5leHQg
cXVhZCAocmVzcGVjdGl2ZWx5KSwgYW5kICgyKSB0aGUgYW5nbGUgb2Ygcm90YXRpb24gb2YgdGhl
CisgICAgICAgIGJvdW5kaW5nIHJlY3Qgb2YgdGhlIGN1cnJlbnQgcXVhZCBpcyB2ZXJ5IGNsb3Nl
IHRvIHRoYXQgb2YgdGhlIG5leHQgcXVhZC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyk6CisKKyAgICAgICAgVXNlIHRoZSBhYm92
ZSBoZWxwZXIgbWV0aG9kIHRvIGVpdGhlciBjb2FsZXNjZSBvciBhcHBlbmQgc2VsZWN0aW9uIGdl
b21ldHJpZXMgdG8gdGhlIGZpbmFsIHZlY3RvciBvZiBjb2FsZXNjZWQKKyAgICAgICAgZ2VvbWV0
cmllcy4KKwogMjAyMS0wNC0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBXZWIgY29udGVudCBwcm9jZXNzIG9jY2FzaW9uYWxseSBjcmFz
aGVzIHVuZGVyIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGNmNGQwNmRmNDk2MTA3ZWQ0ZmRhYzgxOGM1ZDAxNDYyZGZmNzQyMWMuLmVlYmM1OGFhMThm
NmY5NTFkYmEyZWExNmE0MGMzODViZjE1NzAyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjEtMDQtMjYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gQ29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9uIGdlb21ldHJpZXMgd2hlbiBy
ZW5kZXJpbmcgaW5kaXZpZHVhbCBzZWxlY3Rpb24gcXVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTA1NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc29tZSBmdXJ0aGVyIG1pbm9yIGFkanVz
dG1lbnRzIHRvIHNlbGVjdGlvbiBiZWhhdmlvciBpbiBpbWFnZSBvdmVybGF5cyBvbiBpT1MuIElu
IHBhcnRpY3VsYXIsIHdoZW4gdXNpbmcKKyAgICAgICAgc2VsZWN0aW9uIGhhbmRsZXMgdG8gbW9k
aWZ5IHRoZSBzZWxlY3RlZCByYW5nZSwgc2hpZnQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNl
bGVjdGVkIHJhbmdlIHNvIHRoYXQgdGhleSdyZSBhdAorICAgICAgICB0aGUgYmVnaW5uaW5nIGFu
ZCBlbmQgb2YgdGV4dCBydW5zLCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6Omluc2lkZUltYWdl
T3ZlcmxheSk6CisgICAgICAgIChXZWJLaXQ6OmNhbm9uaWNhbGl6ZUZvckltYWdlT3ZlcmxheSk6
CisgICAgICAgIChXZWJLaXQ6OnJhbmdlRm9yUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMpOgor
CiAyMDIxLTA0LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFdlYiBjb250ZW50IHByb2Nlc3Mgb2NjYXNpb25hbGx5IGNyYXNoZXMgdW5k
ZXIgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0UG9zaXRpb25Gb3JFbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaAppbmRleCA5N2U3MzU3YzQwYjk3ZWE0OGM4ZjlkYjg5ZTMyYmNkMzQ2Y2RlZDE0
Li45MTAwYWFlZGJmYzJjNTQ1ZDY1ODcwM2Y5MjlkZDE0MTI5MDQ1M2YyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5oCkBAIC0xMzUsOCArMTM1LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgc2hvdWxkRXh0ZW5kU2VsZWN0aW9uVG9UYXJnZXROb2RlKGNv
bnN0IE5vZGUmIHRhcmdldE5vZGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbkJl
Zm9yZVVwZGF0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJbWFnZU92ZXJsYXkoKSBj
b25zdDsKLSAgICBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3ZlcmxheShjb25zdCBTaW1wbGVS
YW5nZSYpOwotICAgIHN0YXRpYyBib29sIGlzSW5zaWRlSW1hZ2VPdmVybGF5KGNvbnN0IE5vZGUm
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3ZlcmxheShj
b25zdCBTaW1wbGVSYW5nZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzSW5z
aWRlSW1hZ2VPdmVybGF5KGNvbnN0IE5vZGUmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBpc0ltYWdlT3ZlcmxheVRleHQoY29uc3QgTm9kZSYpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBib29sIGlzSW1hZ2VPdmVybGF5VGV4dChjb25zdCBOb2RlKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggNzI1MDlmMmY4YjczMGRmMWY3
NTM2MDJjOTQ4MTZhYmE2YWMyMTVlNC4uOTI2OGZhNGJhZjkxNGNmMjVkNTg2YWRlYmRkYjM0NDYw
YzAxMzhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTIyNTEsOSArMjI1MSwxMyBAQCBhdXRvIFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdl
b21ldHJpZXNJbnRlcm5hbChjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCiAgICAgLy8gQWRqdXN0
IGxpbmUgaGVpZ2h0LgogICAgIGFkanVzdExpbmVIZWlnaHRPZlNlbGVjdGlvbkdlb21ldHJpZXMo
Z2VvbWV0cmllcywgbnVtYmVyT2ZHZW9tZXRyaWVzLCBsaW5lTnVtYmVyLCBsaW5lVG9wLCBsaW5l
Qm90dG9tIC0gbGluZVRvcCk7CiAKLSAgICAvLyBTb3J0IHRoZSByZWN0YW5nbGVzIGFuZCBtYWtl
IHN1cmUgdGhlcmUgYXJlIG5vIGdhcHMuIFRoZSByZWN0YW5nbGVzIGNvdWxkIGJlIHVuc29ydGVk
IHdoZW4KLSAgICAvLyB0aGVyZSBpcyBydWJ5IHRleHQgYW5kIHdlIGNvdWxkIGhhdmUgZ2FwcyBv
biB0aGUgbGluZSB3aGVuIGFkamFjZW50IGVsZW1lbnRzIG9uIHRoZSBsaW5lCi0gICAgLy8gaGF2
ZSBhIGRpZmZlcmVudCBvcmllbnRhdGlvbi4KKyAgICAvLyBXaGVuIHVzaW5nIFNlbGVjdGlvblJl
bmRlcmluZ0JlaGF2aW9yOjpDb2FsZXNjZUJvdW5kaW5nUmVjdHMsIHNvcnQgdGhlIHJlY3Rhbmds
ZXMgYW5kIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gZ2Fwcy4KKyAgICAvLyBUaGUgcmVjdGFuZ2xl
cyBjb3VsZCBiZSB1bnNvcnRlZCB3aGVuIHRoZXJlIGlzIHJ1YnkgdGV4dCBhbmQgd2UgY291bGQg
aGF2ZSBnYXBzIG9uIHRoZSBsaW5lIHdoZW4gYWRqYWNlbnQgZWxlbWVudHMKKyAgICAvLyBvbiB0
aGUgbGluZSBoYXZlIGEgZGlmZmVyZW50IG9yaWVudGF0aW9uLgorICAgIC8vCisgICAgLy8gTm90
ZSB0aGF0IGZvciBzZWxlY3Rpb24gZ2VvbWV0cmllcyB3aXRoIFNlbGVjdGlvblJlbmRlcmluZ0Jl
aGF2aW9yOjpVc2VJbmRpdmlkdWFsUXVhZHMsIHdlIGF2b2lkIHNvcnRpbmcgaW4gb3JkZXIgdG8K
KyAgICAvLyBwcmVzZXJ2ZSB0aGUgZmFjdCB0aGF0IHRoZSByZXN1bHRpbmcgZ2VvbWV0cmllcyBj
b3JyZXNwb25kIHRvIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcXVhZHMgYXJlIGRpc2NvdmVyZWQg
ZHVyaW5nIERPTQorICAgIC8vIHRyYXZlcnNhbC4gVGhpcyBhbGxvd3MgdXMgdG8gZWZmaWNpZW50
bHkgY29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9uIHF1YWRzLgogICAgIHNpemVfdCBmaXJzdFJl
Y3RXaXRoQ3VycmVudExpbmVOdW1iZXIgPSAwOwogICAgIGZvciAoc2l6ZV90IGN1cnJlbnRSZWN0
ID0gMTsgY3VycmVudFJlY3QgPCBudW1iZXJPZkdlb21ldHJpZXM7ICsrY3VycmVudFJlY3QpIHsK
ICAgICAgICAgaWYgKGdlb21ldHJpZXNbY3VycmVudFJlY3RdLmxpbmVOdW1iZXIoKSAhPSBnZW9t
ZXRyaWVzW2N1cnJlbnRSZWN0IC0gMV0ubGluZU51bWJlcigpKSB7CkBAIC0yMjYzLDYgKzIyNjcs
OSBAQCBhdXRvIFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXNJbnRlcm5h
bChjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCiAgICAgICAgIGlmIChnZW9tZXRyaWVzW2N1cnJl
bnRSZWN0XS5sb2dpY2FsTGVmdCgpID49IGdlb21ldHJpZXNbY3VycmVudFJlY3QgLSAxXS5sb2dp
Y2FsTGVmdCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgaWYgKGdlb21ldHJp
ZXNbY3VycmVudFJlY3RdLmJlaGF2aW9yKCkgIT0gU2VsZWN0aW9uUmVuZGVyaW5nQmVoYXZpb3I6
OkNvYWxlc2NlQm91bmRpbmdSZWN0cykKKyAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAg
IGF1dG8gc2VsZWN0aW9uUmVjdCA9IGdlb21ldHJpZXNbY3VycmVudFJlY3RdOwogICAgICAgICBz
aXplX3QgaTsKICAgICAgICAgZm9yIChpID0gY3VycmVudFJlY3Q7IGkgPiBmaXJzdFJlY3RXaXRo
Q3VycmVudExpbmVOdW1iZXIgJiYgc2VsZWN0aW9uUmVjdC5sb2dpY2FsTGVmdCgpIDwgZ2VvbWV0
cmllc1tpIC0gMV0ubG9naWNhbExlZnQoKTsgLS1pKQpAQCAtMjMwMyw2ICsyMzEwLDM1IEBAIGF1
dG8gUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllc0ludGVybmFsKGNvbnN0
IFNpbXBsZVJhbmdlJiByYW5nZSkKICAgICByZXR1cm4geyBXVEZNb3ZlKGdlb21ldHJpZXMpLCBt
YXhMaW5lTnVtYmVyIH07CiB9CiAKK3N0YXRpYyBib29sIGNvYWxlc2NlU2VsZWN0aW9uR2VvbWV0
cnlXaXRoQWRqYWNlbnRRdWFkc0lmUG9zc2libGUoU2VsZWN0aW9uR2VvbWV0cnkmIGN1cnJlbnQs
IGNvbnN0IFNlbGVjdGlvbkdlb21ldHJ5JiBuZXh0KQoreworICAgIGF1dG8gbmV4dFF1YWQgPSBu
ZXh0LnF1YWQoKTsKKyAgICBpZiAobmV4dFF1YWQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGF1dG8gYXJlQ2xvc2VFbm91Z2hUb0NvYWxlc2NlID0gW10oY29uc3QgRmxv
YXRQb2ludCYgZmlyc3QsIGNvbnN0IEZsb2F0UG9pbnQmIHNlY29uZCkgeworICAgICAgICBjb25z
dGV4cHIgZmxvYXQgbWF4RGlzdGFuY2VCZXR3ZWVuQm91bmRhcnlQb2ludHMgPSAyOworICAgICAg
ICByZXR1cm4gKGZpcnN0IC0gc2Vjb25kKS5kaWFnb25hbExlbmd0aFNxdWFyZWQoKSA8PSBtYXhE
aXN0YW5jZUJldHdlZW5Cb3VuZGFyeVBvaW50cyAqIG1heERpc3RhbmNlQmV0d2VlbkJvdW5kYXJ5
UG9pbnRzOworICAgIH07CisKKyAgICBhdXRvIGN1cnJlbnRRdWFkID0gY3VycmVudC5xdWFkKCk7
CisgICAgaWYgKCFhcmVDbG9zZUVub3VnaFRvQ29hbGVzY2UoY3VycmVudFF1YWQucDIoKSwgbmV4
dFF1YWQucDEoKSkgfHwgIWFyZUNsb3NlRW5vdWdoVG9Db2FsZXNjZShjdXJyZW50UXVhZC5wMygp
LCBuZXh0UXVhZC5wNCgpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHN0ZDo6
YWJzKHJvdGF0ZWRCb3VuZGluZ1JlY3QoY3VycmVudFF1YWQpLmFuZ2xlSW5SYWRpYW5zIC0gcm90
YXRlZEJvdW5kaW5nUmVjdChuZXh0UXVhZCkuYW5nbGVJblJhZGlhbnMpID4gcmFkaWFuc1BlckRl
Z3JlZUZsb2F0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjdXJyZW50UXVhZC5zZXRQ
MihuZXh0UXVhZC5wMigpKTsKKyAgICBjdXJyZW50UXVhZC5zZXRQMyhuZXh0UXVhZC5wMygpKTsK
KyAgICBjdXJyZW50LnNldFF1YWQoY3VycmVudFF1YWQpOworICAgIGN1cnJlbnQuc2V0RGlyZWN0
aW9uKGN1cnJlbnQuY29udGFpbnNTdGFydCgpIHx8IGN1cnJlbnQuY29udGFpbnNFbmQoKSA/IGN1
cnJlbnQuZGlyZWN0aW9uKCkgOiBuZXh0LmRpcmVjdGlvbigpKTsKKyAgICBjdXJyZW50LnNldENv
bnRhaW5zU3RhcnQoY3VycmVudC5jb250YWluc1N0YXJ0KCkgfHwgbmV4dC5jb250YWluc1N0YXJ0
KCkpOworICAgIGN1cnJlbnQuc2V0Q29udGFpbnNFbmQoY3VycmVudC5jb250YWluc0VuZCgpIHx8
IG5leHQuY29udGFpbnNFbmQoKSk7CisgICAgY3VycmVudC5zZXRJc0ZpcnN0T25MaW5lKGN1cnJl
bnQuaXNGaXJzdE9uTGluZSgpIHx8IG5leHQuaXNGaXJzdE9uTGluZSgpKTsKKyAgICBjdXJyZW50
LnNldElzTGFzdE9uTGluZShjdXJyZW50LmlzTGFzdE9uTGluZSgpIHx8IG5leHQuaXNMYXN0T25M
aW5lKCkpOworICAgIHJldHVybiB0cnVlOworfQorCiBWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+
IFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMoY29uc3QgU2ltcGxlUmFu
Z2UmIHJhbmdlKQogewogICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2Vs
ZWN0aW9uR2VvbWV0cmllc0ludGVybmFsKHJhbmdlKTsKQEAgLTIzMTUsMTAgKzIzNTEsMTAgQEAg
VmVjdG9yPFNlbGVjdGlvbkdlb21ldHJ5PiBSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25H
ZW9tZXRyaWVzKGNvbnN0IFNpbXBsZVIKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJl
ck9mR2VvbWV0cmllczsgKytpKSB7CiAgICAgICAgIGF1dG8mIGN1cnJlbnRHZW9tZXRyeSA9IHJl
c3VsdC5nZW9tZXRyaWVzW2ldOwogICAgICAgICBpZiAoY3VycmVudEdlb21ldHJ5LmJlaGF2aW9y
KCkgPT0gU2VsZWN0aW9uUmVuZGVyaW5nQmVoYXZpb3I6OlVzZUluZGl2aWR1YWxRdWFkcykgewot
ICAgICAgICAgICAgLy8gRklYTUU6IFdlIHN0aWxsIHByb2JhYmx5IHdhbnQgc29tZSB3YXkgdG8g
Y29hbGVzY2UgcXVhZHMsIHByb2JhYmx5IGJ5IHByb2plY3RpbmcgdGhlbSBvbnRvIHJvdGF0ZWQg
Ym91bmRpbmcgcmVjdHMKLSAgICAgICAgICAgIC8vIGFuZCB0aGVuIGNoZWNraW5nIHdoZXRoZXIg
dGhlIHJvdGF0ZWQgYm91bmRpbmcgcmVjdHMgYXJlIG92ZXJsYXBwaW5nIGFuZCBzaGFyZSB0aGUg
c2FtZSByb3RhdGlvbiBhbmdsZS4gVW50aWwgdGhlbiwKLSAgICAgICAgICAgIC8vIHdlIHNpbXBs
eSBhcHBlbmQgYWxsIG5vbi1lbXB0eSBxdWFkcy4KLSAgICAgICAgICAgIGlmICghY3VycmVudEdl
b21ldHJ5LnF1YWQoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBpZiAoY3VycmVudEdlb21ldHJ5
LnF1YWQoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIGlmIChjb2FsZXNjZWRHZW9tZXRyaWVzLmlzRW1wdHkoKSB8fCAhY29hbGVzY2VTZWxlY3Rp
b25HZW9tZXRyeVdpdGhBZGphY2VudFF1YWRzSWZQb3NzaWJsZShjb2FsZXNjZWRHZW9tZXRyaWVz
Lmxhc3QoKSwgY3VycmVudEdlb21ldHJ5KSkKICAgICAgICAgICAgICAgICBjb2FsZXNjZWRHZW9t
ZXRyaWVzLmFwcGVuZChjdXJyZW50R2VvbWV0cnkpOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0KaW5kZXggY2FmNzRmZWIxYzU4NWIxNDY2NTY5MzY5N2NkMTdlYWUyZjVjYjAw
Ni4uM2UyZjhmMzM5YzFkNzFkNDMyYzM1Y2Q5MGM2N2M5ZjRlNDM4OGZhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTEz
NDAsNiArMTM0MCwzNCBAQCBzdGF0aWMgSW50UG9pbnQgY29uc3RyYWluUG9pbnQoY29uc3QgSW50
UG9pbnQmIHBvaW50LCBjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0CiAgICAgcmV0dXJuIGNvbnN0
cmFpbmVkUG9pbnQ7CiB9CiAKK3N0YXRpYyBib29sIGluc2lkZUltYWdlT3ZlcmxheShjb25zdCBW
aXNpYmxlUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIGF1dG8gY29udGFpbmVyID0gbWFrZVJl
ZlB0cihwb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKSk7CisgICAgcmV0
dXJuIGNvbnRhaW5lciAmJiBIVE1MRWxlbWVudDo6aXNJbnNpZGVJbWFnZU92ZXJsYXkoKmNvbnRh
aW5lcik7Cit9CisKK3N0YXRpYyBPcHRpb25hbDxTaW1wbGVSYW5nZT4gY2Fub25pY2FsaXplRm9y
SW1hZ2VPdmVybGF5KGNvbnN0IFNpbXBsZVJhbmdlJiByYW5nZSkKK3sKKyAgICBWaXNpYmxlUG9z
aXRpb24gY2Fub25pY2FsU3RhcnQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKCZyYW5nZS5z
dGFydENvbnRhaW5lcigpLCByYW5nZS5zdGFydE9mZnNldCgpKSk7CisgICAgVmlzaWJsZVBvc2l0
aW9uIGNhbm9uaWNhbEVuZChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJnJhbmdlLmVuZENv
bnRhaW5lcigpLCByYW5nZS5lbmRPZmZzZXQoKSkpOworCisgICAgZm9yIChhdXRvIHN0YXJ0ID0g
Y2Fub25pY2FsU3RhcnQ7IGluc2lkZUltYWdlT3ZlcmxheShzdGFydCk7IHN0YXJ0ID0gc3RhcnQu
cHJldmlvdXMoKSkgeworICAgICAgICBpZiAoYXV0byBjb250YWluZXIgPSBtYWtlUmVmUHRyKHN0
YXJ0LmRlZXBFcXVpdmFsZW50KCkuY29udGFpbmVyTm9kZSgpKTsgaXM8VGV4dD4oY29udGFpbmVy
KSkgeworICAgICAgICAgICAgY2Fub25pY2FsU3RhcnQgPSBmaXJzdFBvc2l0aW9uSW5Ob2RlKGNv
bnRhaW5lci5nZXQoKSkuZG93bnN0cmVhbSgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBmb3IgKGF1dG8gZW5kID0gY2Fub25pY2FsRW5kOyBpbnNpZGVJbWFn
ZU92ZXJsYXkoZW5kKTsgZW5kID0gZW5kLm5leHQoKSkgeworICAgICAgICBpZiAoYXV0byBjb250
YWluZXIgPSBtYWtlUmVmUHRyKGVuZC5kZWVwRXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKSk7
IGlzPFRleHQ+KGNvbnRhaW5lcikpIHsKKyAgICAgICAgICAgIGNhbm9uaWNhbEVuZCA9IGxhc3RQ
b3NpdGlvbkluTm9kZShjb250YWluZXIuZ2V0KCkpLnVwc3RyZWFtKCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBtYWtlU2ltcGxlUmFuZ2UoeyBj
YW5vbmljYWxTdGFydCwgY2Fub25pY2FsRW5kIH0pOworfQorCiB2b2lkIFdlYlBhZ2U6OnNlbGVj
dFdpdGhHZXN0dXJlKGNvbnN0IEludFBvaW50JiBwb2ludCwgR2VzdHVyZVR5cGUgZ2VzdHVyZVR5
cGUsIEdlc3R1cmVSZWNvZ25pemVyU3RhdGUgZ2VzdHVyZVN0YXRlLCBib29sIGlzSW50ZXJhY3Rp
bmdXaXRoRm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmLCBHZXN0dXJlVHlwZSwgR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSwgT3B0aW9u
U2V0PFNlbGVjdGlvbkZsYWdzPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKHN0
YXRpY19jYXN0PEdlc3R1cmVSZWNvZ25pemVyU3RhdGU+KGdlc3R1cmVTdGF0ZSkgPT0gR2VzdHVy
ZVJlY29nbml6ZXJTdGF0ZTo6QmVnYW4pCkBAIC0xNTM3LDYgKzE1NjUsOSBAQCBzdGF0aWMgT3B0
aW9uYWw8U2ltcGxlUmFuZ2U+IHJhbmdlRm9yUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMoRnJh
bWUmIGZyYW1lLCBjbwogICAgICAgICByYW5nZSA9IG1ha2VTaW1wbGVSYW5nZShyZXN1bHQsIHNl
bGVjdGlvbkVuZCk7CiAgICAgfQogICAgIAorICAgIGlmIChyYW5nZSAmJiBIVE1MRWxlbWVudDo6
aXNJbnNpZGVJbWFnZU92ZXJsYXkoKnJhbmdlKSkKKyAgICAgICAgcmV0dXJuIGNhbm9uaWNhbGl6
ZUZvckltYWdlT3ZlcmxheSgqcmFuZ2UpOworCiAgICAgcmV0dXJuIHJhbmdlOwogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggODNiOGNmMWRmN2JlZDU4MDZmZDU5YzNlZmMyNjEwYTA5YzIwMGEwNC4uMWQyMTJlNzg2YzA2
OTYyNjZlMTkzMmQ0YWYzOTIyYzM3Zjc0OGE0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA0LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIENvYWxlc2NlIGFkamFjZW50IHNlbGVjdGlvbiBnZW9tZXRyaWVzIHdoZW4gcmVuZGVy
aW5nIGluZGl2aWR1YWwgc2VsZWN0aW9uIHF1YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgbGF5b3V0IHRlc3QgdG8gdmVyaWZ5IHRo
YXQgYWRqYWNlbnQgc2VsZWN0aW9uIHJlY3RzIHJvdGF0ZWQgYnkgdGhlIHNhbWUgYW1vdW50IGNh
biBiZSBjb2FsZXNjZWQuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9u
L2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2Nv
YWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1vdmVybGF5Lmh0bWw6IEFkZGVkLgorCiAy
MDIxLTA0LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdIFdlYiBjb250ZW50IHByb2Nlc3Mgb2NjYXNpb25hbGx5IGNyYXNoZXMgdW5kZXIg
VmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0UG9zaXRpb25Gb3JFbmQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlv
bi1yZWN0cy1pbi1pbWFnZS1vdmVybGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1p
bWFnZS1vdmVybGF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTFlNGM3MzI3OGM3NWU1NjA3
YTkxZDQxN2RmMDgyZjhmZDFjNDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3MvY29hbGVzY2Utc2VsZWN0aW9uLXJlY3RzLWlu
LWltYWdlLW92ZXJsYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorUEFTUyBzZWxlY3Rp
b25SZWN0c0FmdGVyU2VsZWN0aW5nQWxsLmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3MvY29hbGVzY2Utc2VsZWN0aW9uLXJlY3Rz
LWluLWltYWdlLW92ZXJsYXkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4
dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1vdmVybGF5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjQ1NjJiNjIwYjNkNzU3NjU0YTQ2ZmI1YzI2OTIwMDhhMmFkZjI3OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rp
b24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1vdmVybGF5Lmh0bWwKQEAg
LTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
Ym9keSwgaHRtbCB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxpbWcgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1n
PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgYXN5bmMgKCkgPT4geworICAgIGludGVybmFscy5pbnN0YWxsSW1hZ2VPdmVybGF5KGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImltZyIpLCBbCisgICAgICAgIHsKKyAgICAgICAgICAgIHRv
cExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjEsIDAuMyksCisgICAgICAgICAgICB0b3BS
aWdodCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuMywgMC4xKSwKKyAgICAgICAgICAgIGJvdHRv
bVJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC40LCAwLjIpLAorICAgICAgICAgICAgYm90
dG9tTGVmdCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuMiwgMC40KSwKKyAgICAgICAgICAgIGNo
aWxkcmVuOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0ZXh0IDog
IkFCIiwKKyAgICAgICAgICAgICAgICAgICAgdG9wTGVmdCA6IG5ldyBET01Qb2ludFJlYWRPbmx5
KDAuMSwgMC4zKSwKKyAgICAgICAgICAgICAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRS
ZWFkT25seSgwLjIsIDAuMiksCisgICAgICAgICAgICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3
IERPTVBvaW50UmVhZE9ubHkoMC4zLCAwLjMpLAorICAgICAgICAgICAgICAgICAgICBib3R0b21M
ZWZ0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4yLCAwLjQpLAorICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0ZXh0IDogIkNEIiwKKyAg
ICAgICAgICAgICAgICAgICAgdG9wTGVmdCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuMiwgMC4y
KSwKKyAgICAgICAgICAgICAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgw
LjMsIDAuMSksCisgICAgICAgICAgICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3IERPTVBvaW50
UmVhZE9ubHkoMC40LCAwLjIpLAorICAgICAgICAgICAgICAgICAgICBib3R0b21MZWZ0IDogbmV3
IERPTVBvaW50UmVhZE9ubHkoMC4zLCAwLjMpLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIF0KKyAgICAgICAgfQorICAgIF0pOworCisgICAgYXdhaXQgVUlIZWxwZXIubG9uZ1ByZXNz
QXRQb2ludCg4MCwgMTIwKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yU2VsZWN0aW9uVG9B
cHBlYXIoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CisgICAgYXdh
aXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7CisgICAgc2VsZWN0aW9uUmVj
dHNBZnRlclNlbGVjdGluZ0FsbCA9IGF3YWl0IFVJSGVscGVyLmdldFVJU2VsZWN0aW9uVmlld1Jl
Y3RzKCk7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzQWZ0ZXJTZWxlY3RpbmdBbGwubGVu
Z3RoIiwgIjEiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="commit-queue"
          id="447659"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427153</attachid>
            <date>2021-04-27 08:49:02 -0700</date>
            <delta_ts>2021-04-28 13:32:14 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-225054-20210427084901.patch</filename>
            <type>text/plain</type>
            <size>15822</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI1NjY5OGFjNjE5Y2Fh
N2Q1MDQ1NjQxMTNmMDUzNmI3MDE0OGI0NS4uNGI2YjhkMGJiY2UyYTQwZjBmYjUwYzEwZWY0NzYw
ZGE5MGU1MDc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA0LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIENvYWxl
c2NlIGFkamFjZW50IHNlbGVjdGlvbiBnZW9tZXRyaWVzIHdoZW4gcmVuZGVyaW5nIGluZGl2aWR1
YWwgc2VsZWN0aW9uIHF1YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjUwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgYSBoZXVyaXN0aWMgdG8gY29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9u
IGdlb21ldHJpZXMgd2hlbiBgU2VsZWN0aW9uUmVuZGVyaW5nQmVoYXZpb3I6OlVzZUluZGl2aWR1
YWxRdWFkc2AKKyAgICAgICAgaXMgYWN0aXZlLiBDdXJyZW50bHksIHdlIHBhc3MgdGhlbSBkaXJl
Y3RseSB0aHJvdWdoIHRvIHRoZSBsaXN0IG9mIGNvYWxlc2NlZCBnZW9tZXRyaWVzIGluc2lkZQor
ICAgICAgICBgUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllc2AsIGJ1dCB0
aGlzIGNhbiBsZWFkIHRvIGFsbW9zdCBwZXJmZWN0bHkgYWRqYWNlbnQgc2VsZWN0aW9uIHF1YWRz
CisgICAgICAgIHNob3dpbmcgYSBuYXJyb3cgZ2FwIGluIGJldHdlZW4gdGhlaXIgc2VsZWN0aW9u
IHZpZXdzLgorCisgICAgICAgIEluc3RlYWQsIHdlIGNhbiBkZXRlY3QgdGhpcyBjYXNlIHdoZXJl
IG5laWdoYm9yaW5nIHF1YWRzIGNhbiBiZSB1bml0ZWQgaW50byBhIHNpbmdsZSBxdWFkIHdpdGhv
dXQgc2lnbmlmaWNhbnRseQorICAgICAgICBjaGFuZ2luZyB0aGUgZ2VvbWV0cnkuIFJhdGhlciB0
aGFuIGFwcGVuZCB0aGUgbmV3IHNlbGVjdGlvbiBnZW9tZXRyeSBpbiB0aGlzIGNhc2UsIHdlIHNp
bXBseSBhZGp1c3QgdGhlIGxhc3QKKyAgICAgICAgc2VsZWN0aW9uIGdlb21ldHJ5J3MgcXVhZCBz
byB0aGF0IGl0IGVuY29tcGFzc2VzIHRoZSBuZXcgc2VsZWN0aW9uIGdlb21ldHJ5IGFzIHdlbGws
IGJ5IGV4dGVuZGluZyB0aGUgdG9wIHJpZ2h0CisgICAgICAgIGFuZCBib3R0b20gcmlnaHQgZXh0
ZW50IHBvaW50cyBvZiB0aGUgbGFzdCBzZWxlY3Rpb24gcXVhZCB0byB0aGUgbmV3IHNlbGVjdGlv
biBxdWFkJ3MgZXh0ZW50IHBvaW50cy4KKworICAgICAgICBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9j
b2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCisKKyAgICAgICAg
KiBodG1sL0hUTUxFbGVtZW50Lmg6IGBXRUJDT1JFX0VYUE9SVGAgYSBjb3VwbGUgb2YgaGVscGVy
IG1ldGhvZHMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzSW50ZXJu
YWwpOgorCisgICAgICAgIEF2b2lkIHNvcnRpbmcgc2VsZWN0aW9uIGdlb21ldHJpZXMgYnkgYm91
bmRpbmcgcmVjdCBgbG9naWNhbExlZnRgIGluIHRoZSBjYXNlIHdoZXJlIHdlJ3JlIG5vdCBjb2Fs
ZXNjaW5nCisgICAgICAgIGJvdW5kaW5nIHJlY3RzIChhbmQgYWxzbyB1cGRhdGUgdGhlIHByZWNl
ZGluZyBjb21tZW50IGFjY29yZGluZ2x5KS4KKworICAgICAgICAoV2ViQ29yZTo6Y29hbGVzY2VT
ZWxlY3Rpb25HZW9tZXRyeVdpdGhBZGphY2VudFF1YWRzSWZQb3NzaWJsZSk6CisKKyAgICAgICAg
QWRkIGEgbmV3IGhlbHBlciB0byB1bml0ZSBuZWlnaGJvcmluZyBxdWFkcyBpZjogKDEpIHRoZSB0
b3AgcmlnaHQgYW5kIGJvdHRvbSByaWdodCBvZiB0aGUgY3VycmVudCBxdWFkIGFyZSB2ZXJ5Cisg
ICAgICAgIGNsb3NlIHRvIHRoZSB0b3AgbGVmdCBhbmQgYm90dG9tIGxlZnQgb2YgdGhlIG5leHQg
cXVhZCAocmVzcGVjdGl2ZWx5KSwgYW5kICgyKSB0aGUgYW5nbGUgb2Ygcm90YXRpb24gb2YgdGhl
CisgICAgICAgIGJvdW5kaW5nIHJlY3Qgb2YgdGhlIGN1cnJlbnQgcXVhZCBpcyB2ZXJ5IGNsb3Nl
IHRvIHRoYXQgb2YgdGhlIG5leHQgcXVhZC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyk6CisKKyAgICAgICAgVXNlIHRoZSBhYm92
ZSBoZWxwZXIgbWV0aG9kIHRvIGVpdGhlciBjb2FsZXNjZSBvciBhcHBlbmQgc2VsZWN0aW9uIGdl
b21ldHJpZXMgdG8gdGhlIGZpbmFsIHZlY3RvciBvZiBjb2FsZXNjZWQKKyAgICAgICAgZ2VvbWV0
cmllcy4KKwogMjAyMS0wNC0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBXZWIgY29udGVudCBwcm9jZXNzIG9jY2FzaW9uYWxseSBjcmFz
aGVzIHVuZGVyIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGNmNGQwNmRmNDk2MTA3ZWQ0ZmRhYzgxOGM1ZDAxNDYyZGZmNzQyMWMuLmVlYmM1OGFhMThm
NmY5NTFkYmEyZWExNmE0MGMzODViZjE1NzAyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjEtMDQtMjYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gQ29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9uIGdlb21ldHJpZXMgd2hlbiBy
ZW5kZXJpbmcgaW5kaXZpZHVhbCBzZWxlY3Rpb24gcXVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTA1NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc29tZSBmdXJ0aGVyIG1pbm9yIGFkanVz
dG1lbnRzIHRvIHNlbGVjdGlvbiBiZWhhdmlvciBpbiBpbWFnZSBvdmVybGF5cyBvbiBpT1MuIElu
IHBhcnRpY3VsYXIsIHdoZW4gdXNpbmcKKyAgICAgICAgc2VsZWN0aW9uIGhhbmRsZXMgdG8gbW9k
aWZ5IHRoZSBzZWxlY3RlZCByYW5nZSwgc2hpZnQgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNl
bGVjdGVkIHJhbmdlIHNvIHRoYXQgdGhleSdyZSBhdAorICAgICAgICB0aGUgYmVnaW5uaW5nIGFu
ZCBlbmQgb2YgdGV4dCBydW5zLCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6Omluc2lkZUltYWdl
T3ZlcmxheSk6CisgICAgICAgIChXZWJLaXQ6OmNhbm9uaWNhbGl6ZUZvckltYWdlT3ZlcmxheSk6
CisgICAgICAgIChXZWJLaXQ6OnJhbmdlRm9yUG9pbnRJblJvb3RWaWV3Q29vcmRpbmF0ZXMpOgor
CiAyMDIxLTA0LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFdlYiBjb250ZW50IHByb2Nlc3Mgb2NjYXNpb25hbGx5IGNyYXNoZXMgdW5k
ZXIgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0UG9zaXRpb25Gb3JFbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaAppbmRleCA5N2U3MzU3YzQwYjk3ZWE0OGM4ZjlkYjg5ZTMyYmNkMzQ2Y2RlZDE0
Li45MTAwYWFlZGJmYzJjNTQ1ZDY1ODcwM2Y5MjlkZDE0MTI5MDQ1M2YyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5oCkBAIC0xMzUsOCArMTM1LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgc2hvdWxkRXh0ZW5kU2VsZWN0aW9uVG9UYXJnZXROb2RlKGNv
bnN0IE5vZGUmIHRhcmdldE5vZGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbkJl
Zm9yZVVwZGF0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJbWFnZU92ZXJsYXkoKSBj
b25zdDsKLSAgICBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3ZlcmxheShjb25zdCBTaW1wbGVS
YW5nZSYpOwotICAgIHN0YXRpYyBib29sIGlzSW5zaWRlSW1hZ2VPdmVybGF5KGNvbnN0IE5vZGUm
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3ZlcmxheShj
b25zdCBTaW1wbGVSYW5nZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzSW5z
aWRlSW1hZ2VPdmVybGF5KGNvbnN0IE5vZGUmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBpc0ltYWdlT3ZlcmxheVRleHQoY29uc3QgTm9kZSYpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBib29sIGlzSW1hZ2VPdmVybGF5VGV4dChjb25zdCBOb2RlKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggNzI1MDlmMmY4YjczMGRmMWY3
NTM2MDJjOTQ4MTZhYmE2YWMyMTVlNC4uZTU0ZWQ5ZjNhYjM3ZmYxYmQzNzlmYTg1N2ZmNDRhOGFl
M2FkYzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTIyNTEsOSArMjI1MSwxMyBAQCBhdXRvIFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdl
b21ldHJpZXNJbnRlcm5hbChjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCiAgICAgLy8gQWRqdXN0
IGxpbmUgaGVpZ2h0LgogICAgIGFkanVzdExpbmVIZWlnaHRPZlNlbGVjdGlvbkdlb21ldHJpZXMo
Z2VvbWV0cmllcywgbnVtYmVyT2ZHZW9tZXRyaWVzLCBsaW5lTnVtYmVyLCBsaW5lVG9wLCBsaW5l
Qm90dG9tIC0gbGluZVRvcCk7CiAKLSAgICAvLyBTb3J0IHRoZSByZWN0YW5nbGVzIGFuZCBtYWtl
IHN1cmUgdGhlcmUgYXJlIG5vIGdhcHMuIFRoZSByZWN0YW5nbGVzIGNvdWxkIGJlIHVuc29ydGVk
IHdoZW4KLSAgICAvLyB0aGVyZSBpcyBydWJ5IHRleHQgYW5kIHdlIGNvdWxkIGhhdmUgZ2FwcyBv
biB0aGUgbGluZSB3aGVuIGFkamFjZW50IGVsZW1lbnRzIG9uIHRoZSBsaW5lCi0gICAgLy8gaGF2
ZSBhIGRpZmZlcmVudCBvcmllbnRhdGlvbi4KKyAgICAvLyBXaGVuIHVzaW5nIFNlbGVjdGlvblJl
bmRlcmluZ0JlaGF2aW9yOjpDb2FsZXNjZUJvdW5kaW5nUmVjdHMsIHNvcnQgdGhlIHJlY3Rhbmds
ZXMgYW5kIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gZ2Fwcy4KKyAgICAvLyBUaGUgcmVjdGFuZ2xl
cyBjb3VsZCBiZSB1bnNvcnRlZCB3aGVuIHRoZXJlIGlzIHJ1YnkgdGV4dCBhbmQgd2UgY291bGQg
aGF2ZSBnYXBzIG9uIHRoZSBsaW5lIHdoZW4gYWRqYWNlbnQgZWxlbWVudHMKKyAgICAvLyBvbiB0
aGUgbGluZSBoYXZlIGEgZGlmZmVyZW50IG9yaWVudGF0aW9uLgorICAgIC8vCisgICAgLy8gTm90
ZSB0aGF0IGZvciBzZWxlY3Rpb24gZ2VvbWV0cmllcyB3aXRoIFNlbGVjdGlvblJlbmRlcmluZ0Jl
aGF2aW9yOjpVc2VJbmRpdmlkdWFsUXVhZHMsIHdlIGF2b2lkIHNvcnRpbmcgaW4gb3JkZXIgdG8K
KyAgICAvLyBwcmVzZXJ2ZSB0aGUgZmFjdCB0aGF0IHRoZSByZXN1bHRpbmcgZ2VvbWV0cmllcyBj
b3JyZXNwb25kIHRvIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcXVhZHMgYXJlIGRpc2NvdmVyZWQg
ZHVyaW5nIERPTQorICAgIC8vIHRyYXZlcnNhbC4gVGhpcyBhbGxvd3MgdXMgdG8gZWZmaWNpZW50
bHkgY29hbGVzY2UgYWRqYWNlbnQgc2VsZWN0aW9uIHF1YWRzLgogICAgIHNpemVfdCBmaXJzdFJl
Y3RXaXRoQ3VycmVudExpbmVOdW1iZXIgPSAwOwogICAgIGZvciAoc2l6ZV90IGN1cnJlbnRSZWN0
ID0gMTsgY3VycmVudFJlY3QgPCBudW1iZXJPZkdlb21ldHJpZXM7ICsrY3VycmVudFJlY3QpIHsK
ICAgICAgICAgaWYgKGdlb21ldHJpZXNbY3VycmVudFJlY3RdLmxpbmVOdW1iZXIoKSAhPSBnZW9t
ZXRyaWVzW2N1cnJlbnRSZWN0IC0gMV0ubGluZU51bWJlcigpKSB7CkBAIC0yMjYzLDYgKzIyNjcs
OSBAQCBhdXRvIFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXNJbnRlcm5h
bChjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCiAgICAgICAgIGlmIChnZW9tZXRyaWVzW2N1cnJl
bnRSZWN0XS5sb2dpY2FsTGVmdCgpID49IGdlb21ldHJpZXNbY3VycmVudFJlY3QgLSAxXS5sb2dp
Y2FsTGVmdCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgaWYgKGdlb21ldHJp
ZXNbY3VycmVudFJlY3RdLmJlaGF2aW9yKCkgIT0gU2VsZWN0aW9uUmVuZGVyaW5nQmVoYXZpb3I6
OkNvYWxlc2NlQm91bmRpbmdSZWN0cykKKyAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAg
IGF1dG8gc2VsZWN0aW9uUmVjdCA9IGdlb21ldHJpZXNbY3VycmVudFJlY3RdOwogICAgICAgICBz
aXplX3QgaTsKICAgICAgICAgZm9yIChpID0gY3VycmVudFJlY3Q7IGkgPiBmaXJzdFJlY3RXaXRo
Q3VycmVudExpbmVOdW1iZXIgJiYgc2VsZWN0aW9uUmVjdC5sb2dpY2FsTGVmdCgpIDwgZ2VvbWV0
cmllc1tpIC0gMV0ubG9naWNhbExlZnQoKTsgLS1pKQpAQCAtMjMwMyw2ICsyMzEwLDM1IEBAIGF1
dG8gUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllc0ludGVybmFsKGNvbnN0
IFNpbXBsZVJhbmdlJiByYW5nZSkKICAgICByZXR1cm4geyBXVEZNb3ZlKGdlb21ldHJpZXMpLCBt
YXhMaW5lTnVtYmVyIH07CiB9CiAKK3N0YXRpYyBib29sIGNvYWxlc2NlU2VsZWN0aW9uR2VvbWV0
cnlXaXRoQWRqYWNlbnRRdWFkc0lmUG9zc2libGUoU2VsZWN0aW9uR2VvbWV0cnkmIGN1cnJlbnQs
IGNvbnN0IFNlbGVjdGlvbkdlb21ldHJ5JiBuZXh0KQoreworICAgIGF1dG8gbmV4dFF1YWQgPSBu
ZXh0LnF1YWQoKTsKKyAgICBpZiAobmV4dFF1YWQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGF1dG8gYXJlQ2xvc2VFbm91Z2hUb0NvYWxlc2NlID0gW10oY29uc3QgRmxv
YXRQb2ludCYgZmlyc3QsIGNvbnN0IEZsb2F0UG9pbnQmIHNlY29uZCkgeworICAgICAgICBjb25z
dGV4cHIgZmxvYXQgbWF4RGlzdGFuY2VCZXR3ZWVuQm91bmRhcnlQb2ludHMgPSAyOworICAgICAg
ICByZXR1cm4gKGZpcnN0IC0gc2Vjb25kKS5kaWFnb25hbExlbmd0aFNxdWFyZWQoKSA8PSBtYXhE
aXN0YW5jZUJldHdlZW5Cb3VuZGFyeVBvaW50cyAqIG1heERpc3RhbmNlQmV0d2VlbkJvdW5kYXJ5
UG9pbnRzOworICAgIH07CisKKyAgICBhdXRvIGN1cnJlbnRRdWFkID0gY3VycmVudC5xdWFkKCk7
CisgICAgaWYgKCFhcmVDbG9zZUVub3VnaFRvQ29hbGVzY2UoY3VycmVudFF1YWQucDIoKSwgbmV4
dFF1YWQucDEoKSkgfHwgIWFyZUNsb3NlRW5vdWdoVG9Db2FsZXNjZShjdXJyZW50UXVhZC5wMygp
LCBuZXh0UXVhZC5wNCgpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHN0ZDo6
YWJzKHJvdGF0ZWRCb3VuZGluZ1JlY3RXaXRoTWluaW11bUFuZ2xlT2ZSb3RhdGlvbihjdXJyZW50
UXVhZCkuYW5nbGVJblJhZGlhbnMgLSByb3RhdGVkQm91bmRpbmdSZWN0V2l0aE1pbmltdW1Bbmds
ZU9mUm90YXRpb24obmV4dFF1YWQpLmFuZ2xlSW5SYWRpYW5zKSA+IHJhZGlhbnNQZXJEZWdyZWVG
bG9hdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY3VycmVudFF1YWQuc2V0UDIobmV4
dFF1YWQucDIoKSk7CisgICAgY3VycmVudFF1YWQuc2V0UDMobmV4dFF1YWQucDMoKSk7CisgICAg
Y3VycmVudC5zZXRRdWFkKGN1cnJlbnRRdWFkKTsKKyAgICBjdXJyZW50LnNldERpcmVjdGlvbihj
dXJyZW50LmNvbnRhaW5zU3RhcnQoKSB8fCBjdXJyZW50LmNvbnRhaW5zRW5kKCkgPyBjdXJyZW50
LmRpcmVjdGlvbigpIDogbmV4dC5kaXJlY3Rpb24oKSk7CisgICAgY3VycmVudC5zZXRDb250YWlu
c1N0YXJ0KGN1cnJlbnQuY29udGFpbnNTdGFydCgpIHx8IG5leHQuY29udGFpbnNTdGFydCgpKTsK
KyAgICBjdXJyZW50LnNldENvbnRhaW5zRW5kKGN1cnJlbnQuY29udGFpbnNFbmQoKSB8fCBuZXh0
LmNvbnRhaW5zRW5kKCkpOworICAgIGN1cnJlbnQuc2V0SXNGaXJzdE9uTGluZShjdXJyZW50Lmlz
Rmlyc3RPbkxpbmUoKSB8fCBuZXh0LmlzRmlyc3RPbkxpbmUoKSk7CisgICAgY3VycmVudC5zZXRJ
c0xhc3RPbkxpbmUoY3VycmVudC5pc0xhc3RPbkxpbmUoKSB8fCBuZXh0LmlzTGFzdE9uTGluZSgp
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogVmVjdG9yPFNlbGVjdGlvbkdlb21ldHJ5PiBSZW5k
ZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKGNvbnN0IFNpbXBsZVJhbmdlJiBy
YW5nZSkKIHsKICAgICBhdXRvIHJlc3VsdCA9IFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlv
bkdlb21ldHJpZXNJbnRlcm5hbChyYW5nZSk7CkBAIC0yMzE1LDEwICsyMzUxLDEwIEBAIFZlY3Rv
cjxTZWxlY3Rpb25HZW9tZXRyeT4gUmVuZGVyT2JqZWN0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0
cmllcyhjb25zdCBTaW1wbGVSCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1iZXJPZkdl
b21ldHJpZXM7ICsraSkgewogICAgICAgICBhdXRvJiBjdXJyZW50R2VvbWV0cnkgPSByZXN1bHQu
Z2VvbWV0cmllc1tpXTsKICAgICAgICAgaWYgKGN1cnJlbnRHZW9tZXRyeS5iZWhhdmlvcigpID09
IFNlbGVjdGlvblJlbmRlcmluZ0JlaGF2aW9yOjpVc2VJbmRpdmlkdWFsUXVhZHMpIHsKLSAgICAg
ICAgICAgIC8vIEZJWE1FOiBXZSBzdGlsbCBwcm9iYWJseSB3YW50IHNvbWUgd2F5IHRvIGNvYWxl
c2NlIHF1YWRzLCBwcm9iYWJseSBieSBwcm9qZWN0aW5nIHRoZW0gb250byByb3RhdGVkIGJvdW5k
aW5nIHJlY3RzCi0gICAgICAgICAgICAvLyBhbmQgdGhlbiBjaGVja2luZyB3aGV0aGVyIHRoZSBy
b3RhdGVkIGJvdW5kaW5nIHJlY3RzIGFyZSBvdmVybGFwcGluZyBhbmQgc2hhcmUgdGhlIHNhbWUg
cm90YXRpb24gYW5nbGUuIFVudGlsIHRoZW4sCi0gICAgICAgICAgICAvLyB3ZSBzaW1wbHkgYXBw
ZW5kIGFsbCBub24tZW1wdHkgcXVhZHMuCi0gICAgICAgICAgICBpZiAoIWN1cnJlbnRHZW9tZXRy
eS5xdWFkKCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgaWYgKGN1cnJlbnRHZW9tZXRyeS5xdWFk
KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBp
ZiAoY29hbGVzY2VkR2VvbWV0cmllcy5pc0VtcHR5KCkgfHwgIWNvYWxlc2NlU2VsZWN0aW9uR2Vv
bWV0cnlXaXRoQWRqYWNlbnRRdWFkc0lmUG9zc2libGUoY29hbGVzY2VkR2VvbWV0cmllcy5sYXN0
KCksIGN1cnJlbnRHZW9tZXRyeSkpCiAgICAgICAgICAgICAgICAgY29hbGVzY2VkR2VvbWV0cmll
cy5hcHBlbmQoY3VycmVudEdlb21ldHJ5KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCmluZGV4IGNhZjc0ZmViMWM1ODViMTQ2NjU2OTM2OTdjZDE3ZWFlMmY1Y2IwMDYuLjNl
MmY4ZjMzOWMxZDcxZDQzMmMzNWNkOTBjNjdjOWY0ZTQzODhmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0xMzQwLDYg
KzEzNDAsMzQgQEAgc3RhdGljIEludFBvaW50IGNvbnN0cmFpblBvaW50KGNvbnN0IEludFBvaW50
JiBwb2ludCwgY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdAogICAgIHJldHVybiBjb25zdHJhaW5l
ZFBvaW50OwogfQogCitzdGF0aWMgYm9vbCBpbnNpZGVJbWFnZU92ZXJsYXkoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBwb3NpdGlvbikKK3sKKyAgICBhdXRvIGNvbnRhaW5lciA9IG1ha2VSZWZQdHIo
cG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKS5jb250YWluZXJOb2RlKCkpOworICAgIHJldHVybiBj
b250YWluZXIgJiYgSFRNTEVsZW1lbnQ6OmlzSW5zaWRlSW1hZ2VPdmVybGF5KCpjb250YWluZXIp
OworfQorCitzdGF0aWMgT3B0aW9uYWw8U2ltcGxlUmFuZ2U+IGNhbm9uaWNhbGl6ZUZvckltYWdl
T3ZlcmxheShjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCit7CisgICAgVmlzaWJsZVBvc2l0aW9u
IGNhbm9uaWNhbFN0YXJ0KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbigmcmFuZ2Uuc3RhcnRD
b250YWluZXIoKSwgcmFuZ2Uuc3RhcnRPZmZzZXQoKSkpOworICAgIFZpc2libGVQb3NpdGlvbiBj
YW5vbmljYWxFbmQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKCZyYW5nZS5lbmRDb250YWlu
ZXIoKSwgcmFuZ2UuZW5kT2Zmc2V0KCkpKTsKKworICAgIGZvciAoYXV0byBzdGFydCA9IGNhbm9u
aWNhbFN0YXJ0OyBpbnNpZGVJbWFnZU92ZXJsYXkoc3RhcnQpOyBzdGFydCA9IHN0YXJ0LnByZXZp
b3VzKCkpIHsKKyAgICAgICAgaWYgKGF1dG8gY29udGFpbmVyID0gbWFrZVJlZlB0cihzdGFydC5k
ZWVwRXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKSk7IGlzPFRleHQ+KGNvbnRhaW5lcikpIHsK
KyAgICAgICAgICAgIGNhbm9uaWNhbFN0YXJ0ID0gZmlyc3RQb3NpdGlvbkluTm9kZShjb250YWlu
ZXIuZ2V0KCkpLmRvd25zdHJlYW0oKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgfQorCisgICAgZm9yIChhdXRvIGVuZCA9IGNhbm9uaWNhbEVuZDsgaW5zaWRlSW1hZ2VPdmVy
bGF5KGVuZCk7IGVuZCA9IGVuZC5uZXh0KCkpIHsKKyAgICAgICAgaWYgKGF1dG8gY29udGFpbmVy
ID0gbWFrZVJlZlB0cihlbmQuZGVlcEVxdWl2YWxlbnQoKS5jb250YWluZXJOb2RlKCkpOyBpczxU
ZXh0Pihjb250YWluZXIpKSB7CisgICAgICAgICAgICBjYW5vbmljYWxFbmQgPSBsYXN0UG9zaXRp
b25Jbk5vZGUoY29udGFpbmVyLmdldCgpKS51cHN0cmVhbSgpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gbWFrZVNpbXBsZVJhbmdlKHsgY2Fub25p
Y2FsU3RhcnQsIGNhbm9uaWNhbEVuZCB9KTsKK30KKwogdm9pZCBXZWJQYWdlOjpzZWxlY3RXaXRo
R2VzdHVyZShjb25zdCBJbnRQb2ludCYgcG9pbnQsIEdlc3R1cmVUeXBlIGdlc3R1cmVUeXBlLCBH
ZXN0dXJlUmVjb2duaXplclN0YXRlIGdlc3R1cmVTdGF0ZSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0
aEZvY3VzZWRFbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgR2VzdHVyZVR5cGUsIEdlc3R1cmVSZWNvZ25pemVyU3RhdGUsIE9wdGlvblNldDxT
ZWxlY3Rpb25GbGFncz4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChzdGF0aWNf
Y2FzdDxHZXN0dXJlUmVjb2duaXplclN0YXRlPihnZXN0dXJlU3RhdGUpID09IEdlc3R1cmVSZWNv
Z25pemVyU3RhdGU6OkJlZ2FuKQpAQCAtMTUzNyw2ICsxNTY1LDkgQEAgc3RhdGljIE9wdGlvbmFs
PFNpbXBsZVJhbmdlPiByYW5nZUZvclBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzKEZyYW1lJiBm
cmFtZSwgY28KICAgICAgICAgcmFuZ2UgPSBtYWtlU2ltcGxlUmFuZ2UocmVzdWx0LCBzZWxlY3Rp
b25FbmQpOwogICAgIH0KICAgICAKKyAgICBpZiAocmFuZ2UgJiYgSFRNTEVsZW1lbnQ6OmlzSW5z
aWRlSW1hZ2VPdmVybGF5KCpyYW5nZSkpCisgICAgICAgIHJldHVybiBjYW5vbmljYWxpemVGb3JJ
bWFnZU92ZXJsYXkoKnJhbmdlKTsKKwogICAgIHJldHVybiByYW5nZTsKIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgz
YjhjZjFkZjdiZWQ1ODA2ZmQ1OWMzZWZjMjYxMGEwOWMyMDBhMDQuLjFkMjEyZTc4NmMwNjk2MjY2
ZTE5MzJkNGFmMzkyMmMzN2Y3NDhhNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNC0y
NiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9T
XSBDb2FsZXNjZSBhZGphY2VudCBzZWxlY3Rpb24gZ2VvbWV0cmllcyB3aGVuIHJlbmRlcmluZyBp
bmRpdmlkdWFsIHNlbGVjdGlvbiBxdWFkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0IHRvIHZlcmlmeSB0aGF0IGFk
amFjZW50IHNlbGVjdGlvbiByZWN0cyByb3RhdGVkIGJ5IHRoZSBzYW1lIGFtb3VudCBjYW4gYmUg
Y29hbGVzY2VkLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3Mv
Y29hbGVzY2Utc2VsZWN0aW9uLXJlY3RzLWluLWltYWdlLW92ZXJsYXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9jb2FsZXNj
ZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sOiBBZGRlZC4KKwogMjAyMS0w
NC0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBXZWIgY29udGVudCBwcm9jZXNzIG9jY2FzaW9uYWxseSBjcmFzaGVzIHVuZGVyIFZpc2li
bGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVj
dHMtaW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9pbWFnZS1leHRyYWN0aW9uL2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Ut
b3ZlcmxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzExZTRjNzMyNzhjNzVlNTYwN2E5MWQ0
MTdkZjA4MmY4ZmQxYzQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFn
ZS1vdmVybGF5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1Mgc2VsZWN0aW9uUmVj
dHNBZnRlclNlbGVjdGluZ0FsbC5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1p
bWFnZS1vdmVybGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0
aW9uL2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY0NTYyYjYyMGIzZDc1NzY1NGE0NmZiNWMyNjkyMDA4YTJhZGYyNzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lv
cy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCkBAIC0wLDAg
KzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2JvZHks
IGh0bWwgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aW1nIHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dyZWVuLTQwMHg0MDAucG5nIj48L2ltZz4KKzxz
Y3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGFzeW5jICgpID0+IHsKKyAgICBpbnRlcm5hbHMuaW5zdGFsbEltYWdlT3ZlcmxheShkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJpbWciKSwgWworICAgICAgICB7CisgICAgICAgICAgICB0b3BMZWZ0
IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4xLCAwLjMpLAorICAgICAgICAgICAgdG9wUmlnaHQg
OiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjMsIDAuMSksCisgICAgICAgICAgICBib3R0b21SaWdo
dCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuNCwgMC4yKSwKKyAgICAgICAgICAgIGJvdHRvbUxl
ZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjIsIDAuNCksCisgICAgICAgICAgICBjaGlsZHJl
bjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICJBQiIs
CisgICAgICAgICAgICAgICAgICAgIHRvcExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjEs
IDAuMyksCisgICAgICAgICAgICAgICAgICAgIHRvcFJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9u
bHkoMC4yLCAwLjIpLAorICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Q
b2ludFJlYWRPbmx5KDAuMywgMC4zKSwKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tTGVmdCA6
IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuMiwgMC40KSwKKyAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICJDRCIsCisgICAgICAg
ICAgICAgICAgICAgIHRvcExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjIsIDAuMiksCisg
ICAgICAgICAgICAgICAgICAgIHRvcFJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4zLCAw
LjEpLAorICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2ludFJlYWRP
bmx5KDAuNCwgMC4yKSwKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tTGVmdCA6IG5ldyBET01Q
b2ludFJlYWRPbmx5KDAuMywgMC4zKSwKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
CisgICAgICAgIH0KKyAgICBdKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmxvbmdQcmVzc0F0UG9p
bnQoODAsIDEyMCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvclNlbGVjdGlvblRvQXBwZWFy
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOworICAgIGF3YWl0IFVJ
SGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgIHNlbGVjdGlvblJlY3RzQWZ0
ZXJTZWxlY3RpbmdBbGwgPSBhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblZpZXdSZWN0cygp
OworICAgIHNob3VsZEJlKCJzZWxlY3Rpb25SZWN0c0FmdGVyU2VsZWN0aW5nQWxsLmxlbmd0aCIs
ICIxIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="447664"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427293</attachid>
            <date>2021-04-28 14:24:19 -0700</date>
            <delta_ts>2021-04-28 18:36:42 -0700</delta_ts>
            <desc>Renaming</desc>
            <filename>bug-225054-20210428142418.patch</filename>
            <type>text/plain</type>
            <size>15762</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgwZmE3YjA1MjNmZWVk
NDM5Zjk1NGI1ODA1ZTYwOTA1OWZmYTRmYi4uY2FjMjM2NzQ5NTcxZGI0ZjgyYmQ0MGU2MmU4YmZl
YWFmZTcxZjFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA0LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIENvYWxl
c2NlIGFkamFjZW50IHNlbGVjdGlvbiBnZW9tZXRyaWVzIHdoZW4gcmVuZGVyaW5nIGluZGl2aWR1
YWwgc2VsZWN0aW9uIHF1YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjUwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisg
ICAgICAgIEFkZCBhIGhldXJpc3RpYyB0byBjb2FsZXNjZSBhZGphY2VudCBzZWxlY3Rpb24gZ2Vv
bWV0cmllcyB3aGVuIGBTZWxlY3Rpb25SZW5kZXJpbmdCZWhhdmlvcjo6VXNlSW5kaXZpZHVhbFF1
YWRzYAorICAgICAgICBpcyBhY3RpdmUuIEN1cnJlbnRseSwgd2UgcGFzcyB0aGVtIGRpcmVjdGx5
IHRocm91Z2ggdG8gdGhlIGxpc3Qgb2YgY29hbGVzY2VkIGdlb21ldHJpZXMgaW5zaWRlCisgICAg
ICAgIGBSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzYCwgYnV0IHRoaXMg
Y2FuIGxlYWQgdG8gYWxtb3N0IHBlcmZlY3RseSBhZGphY2VudCBzZWxlY3Rpb24gcXVhZHMKKyAg
ICAgICAgc2hvd2luZyBhIG5hcnJvdyBnYXAgaW4gYmV0d2VlbiB0aGVpciBzZWxlY3Rpb24gdmll
d3MuCisKKyAgICAgICAgSW5zdGVhZCwgd2UgY2FuIGRldGVjdCB0aGlzIGNhc2Ugd2hlcmUgbmVp
Z2hib3JpbmcgcXVhZHMgY2FuIGJlIHVuaXRlZCBpbnRvIGEgc2luZ2xlIHF1YWQgd2l0aG91dCBz
aWduaWZpY2FudGx5CisgICAgICAgIGNoYW5naW5nIHRoZSBnZW9tZXRyeS4gUmF0aGVyIHRoYW4g
YXBwZW5kIHRoZSBuZXcgc2VsZWN0aW9uIGdlb21ldHJ5IGluIHRoaXMgY2FzZSwgd2Ugc2ltcGx5
IGFkanVzdCB0aGUgbGFzdAorICAgICAgICBzZWxlY3Rpb24gZ2VvbWV0cnkncyBxdWFkIHNvIHRo
YXQgaXQgZW5jb21wYXNzZXMgdGhlIG5ldyBzZWxlY3Rpb24gZ2VvbWV0cnkgYXMgd2VsbCwgYnkg
ZXh0ZW5kaW5nIHRoZSB0b3AgcmlnaHQKKyAgICAgICAgYW5kIGJvdHRvbSByaWdodCBleHRlbnQg
cG9pbnRzIG9mIHRoZSBsYXN0IHNlbGVjdGlvbiBxdWFkIHRvIHRoZSBuZXcgc2VsZWN0aW9uIHF1
YWQncyBleHRlbnQgcG9pbnRzLgorCisgICAgICAgIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxl
c2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1vdmVybGF5Lmh0bWwKKworICAgICAgICAqIGh0
bWwvSFRNTEVsZW1lbnQuaDogYFdFQkNPUkVfRVhQT1JUYCBhIGNvdXBsZSBvZiBoZWxwZXIgbWV0
aG9kcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXNJbnRlcm5hbCk6
CisKKyAgICAgICAgQXZvaWQgc29ydGluZyBzZWxlY3Rpb24gZ2VvbWV0cmllcyBieSBib3VuZGlu
ZyByZWN0IGBsb2dpY2FsTGVmdGAgaW4gdGhlIGNhc2Ugd2hlcmUgd2UncmUgbm90IGNvYWxlc2Np
bmcKKyAgICAgICAgYm91bmRpbmcgcmVjdHMgKGFuZCBhbHNvIHVwZGF0ZSB0aGUgcHJlY2VkaW5n
IGNvbW1lbnQgYWNjb3JkaW5nbHkpLgorCisgICAgICAgIChXZWJDb3JlOjpjb2FsZXNjZVNlbGVj
dGlvbkdlb21ldHJ5V2l0aEFkamFjZW50UXVhZHNJZlBvc3NpYmxlKToKKworICAgICAgICBBZGQg
YSBuZXcgaGVscGVyIHRvIHVuaXRlIG5laWdoYm9yaW5nIHF1YWRzIGlmOiAoMSkgdGhlIHRvcCBy
aWdodCBhbmQgYm90dG9tIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHF1YWQgYXJlIHZlcnkKKyAgICAg
ICAgY2xvc2UgdG8gdGhlIHRvcCBsZWZ0IGFuZCBib3R0b20gbGVmdCBvZiB0aGUgbmV4dCBxdWFk
IChyZXNwZWN0aXZlbHkpLCBhbmQgKDIpIHRoZSBhbmdsZSBvZiByb3RhdGlvbiBvZiB0aGUKKyAg
ICAgICAgYm91bmRpbmcgcmVjdCBvZiB0aGUgY3VycmVudCBxdWFkIGlzIHZlcnkgY2xvc2UgdG8g
dGhhdCBvZiB0aGUgbmV4dCBxdWFkLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6
OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKToKKworICAgICAgICBVc2UgdGhlIGFib3ZlIGhl
bHBlciBtZXRob2QgdG8gZWl0aGVyIGNvYWxlc2NlIG9yIGFwcGVuZCBzZWxlY3Rpb24gZ2VvbWV0
cmllcyB0byB0aGUgZmluYWwgdmVjdG9yIG9mIGNvYWxlc2NlZAorICAgICAgICBnZW9tZXRyaWVz
LgorCiAyMDIxLTA0LTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1NdIFdlYiBjb250ZW50IHByb2Nlc3Mgb2NjYXNpb25hbGx5IGNyYXNoZXMg
dW5kZXIgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0UG9zaXRpb25Gb3JFbmQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ODEwMzQ5OGM0MWVlMGMzM2M5NDRmZWE5MWVlMmUyNDY5OTE2NTEzOS4uZDdiOGYzMGFlN2MzOTc0
MmIwMDE5YzU1NjI3ZGNhYzA5NDc2YTRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
MS0wNC0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBDb2FsZXNjZSBhZGphY2VudCBzZWxlY3Rpb24gZ2VvbWV0cmllcyB3aGVuIHJlbmRl
cmluZyBpbmRpdmlkdWFsIHNlbGVjdGlvbiBxdWFkcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICBNYWtlIHNvbWUgZnVydGhlciBtaW5vciBhZGp1c3RtZW50cyB0
byBzZWxlY3Rpb24gYmVoYXZpb3IgaW4gaW1hZ2Ugb3ZlcmxheXMgb24gaU9TLiBJbiBwYXJ0aWN1
bGFyLCB3aGVuIHVzaW5nCisgICAgICAgIHNlbGVjdGlvbiBoYW5kbGVzIHRvIG1vZGlmeSB0aGUg
c2VsZWN0ZWQgcmFuZ2UsIHNoaWZ0IHRoZSBzdGFydCBhbmQgZW5kIG9mIHRoZSBzZWxlY3RlZCBy
YW5nZSBzbyB0aGF0IHRoZXkncmUgYXQKKyAgICAgICAgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9m
IHRleHQgcnVucywgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjppbnNpZGVJbWFnZU92ZXJsYXkp
OgorICAgICAgICAoV2ViS2l0OjpleHBhbmRGb3JJbWFnZU92ZXJsYXkpOgorICAgICAgICAoV2Vi
S2l0OjpyYW5nZUZvclBvaW50SW5Sb290Vmlld0Nvb3JkaW5hdGVzKToKKwogMjAyMS0wNC0yOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBX
ZWIgY29udGVudCBwcm9jZXNzIG9jY2FzaW9uYWxseSBjcmFzaGVzIHVuZGVyIFZpc2libGVTZWxl
Y3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKaW5k
ZXggOTdlNzM1N2M0MGI5N2VhNDhjOGY5ZGI4OWUzMmJjZDM0NmNkZWQxNC4uOTEwMGFhZWRiZmMy
YzU0NWQ2NTg3MDNmOTI5ZGQxNDEyOTA0NTNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aApAQCAtMTM1LDggKzEzNSw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBib29sIHNob3VsZEV4dGVuZFNlbGVjdGlvblRvVGFyZ2V0Tm9kZShjb25zdCBOb2RlJiB0YXJn
ZXROb2RlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb25CZWZvcmVVcGRhdGUpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFzSW1hZ2VPdmVybGF5KCkgY29uc3Q7Ci0gICAgc3Rh
dGljIGJvb2wgaXNJbnNpZGVJbWFnZU92ZXJsYXkoY29uc3QgU2ltcGxlUmFuZ2UmKTsKLSAgICBz
dGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3ZlcmxheShjb25zdCBOb2RlJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgaXNJbnNpZGVJbWFnZU92ZXJsYXkoY29uc3QgU2ltcGxlUmFu
Z2UmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3Zlcmxh
eShjb25zdCBOb2RlJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgaXNJbWFnZU92
ZXJsYXlUZXh0KGNvbnN0IE5vZGUmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBp
c0ltYWdlT3ZlcmxheVRleHQoY29uc3QgTm9kZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDcyNTA5ZjJmOGI3MzBkZjFmNzUzNjAyYzk0ODE2YWJh
NmFjMjE1ZTQuLmU1NGVkOWYzYWIzN2ZmMWJkMzc5ZmE4NTdmZjQ0YThhZTNhZGMzODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMjUxLDkgKzIyNTEs
MTMgQEAgYXV0byBSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzSW50ZXJu
YWwoY29uc3QgU2ltcGxlUmFuZ2UmIHJhbmdlKQogICAgIC8vIEFkanVzdCBsaW5lIGhlaWdodC4K
ICAgICBhZGp1c3RMaW5lSGVpZ2h0T2ZTZWxlY3Rpb25HZW9tZXRyaWVzKGdlb21ldHJpZXMsIG51
bWJlck9mR2VvbWV0cmllcywgbGluZU51bWJlciwgbGluZVRvcCwgbGluZUJvdHRvbSAtIGxpbmVU
b3ApOwogCi0gICAgLy8gU29ydCB0aGUgcmVjdGFuZ2xlcyBhbmQgbWFrZSBzdXJlIHRoZXJlIGFy
ZSBubyBnYXBzLiBUaGUgcmVjdGFuZ2xlcyBjb3VsZCBiZSB1bnNvcnRlZCB3aGVuCi0gICAgLy8g
dGhlcmUgaXMgcnVieSB0ZXh0IGFuZCB3ZSBjb3VsZCBoYXZlIGdhcHMgb24gdGhlIGxpbmUgd2hl
biBhZGphY2VudCBlbGVtZW50cyBvbiB0aGUgbGluZQotICAgIC8vIGhhdmUgYSBkaWZmZXJlbnQg
b3JpZW50YXRpb24uCisgICAgLy8gV2hlbiB1c2luZyBTZWxlY3Rpb25SZW5kZXJpbmdCZWhhdmlv
cjo6Q29hbGVzY2VCb3VuZGluZ1JlY3RzLCBzb3J0IHRoZSByZWN0YW5nbGVzIGFuZCBtYWtlIHN1
cmUgdGhlcmUgYXJlIG5vIGdhcHMuCisgICAgLy8gVGhlIHJlY3RhbmdsZXMgY291bGQgYmUgdW5z
b3J0ZWQgd2hlbiB0aGVyZSBpcyBydWJ5IHRleHQgYW5kIHdlIGNvdWxkIGhhdmUgZ2FwcyBvbiB0
aGUgbGluZSB3aGVuIGFkamFjZW50IGVsZW1lbnRzCisgICAgLy8gb24gdGhlIGxpbmUgaGF2ZSBh
IGRpZmZlcmVudCBvcmllbnRhdGlvbi4KKyAgICAvLworICAgIC8vIE5vdGUgdGhhdCBmb3Igc2Vs
ZWN0aW9uIGdlb21ldHJpZXMgd2l0aCBTZWxlY3Rpb25SZW5kZXJpbmdCZWhhdmlvcjo6VXNlSW5k
aXZpZHVhbFF1YWRzLCB3ZSBhdm9pZCBzb3J0aW5nIGluIG9yZGVyIHRvCisgICAgLy8gcHJlc2Vy
dmUgdGhlIGZhY3QgdGhhdCB0aGUgcmVzdWx0aW5nIGdlb21ldHJpZXMgY29ycmVzcG9uZCB0byB0
aGUgb3JkZXIgaW4gd2hpY2ggdGhlIHF1YWRzIGFyZSBkaXNjb3ZlcmVkIGR1cmluZyBET00KKyAg
ICAvLyB0cmF2ZXJzYWwuIFRoaXMgYWxsb3dzIHVzIHRvIGVmZmljaWVudGx5IGNvYWxlc2NlIGFk
amFjZW50IHNlbGVjdGlvbiBxdWFkcy4KICAgICBzaXplX3QgZmlyc3RSZWN0V2l0aEN1cnJlbnRM
aW5lTnVtYmVyID0gMDsKICAgICBmb3IgKHNpemVfdCBjdXJyZW50UmVjdCA9IDE7IGN1cnJlbnRS
ZWN0IDwgbnVtYmVyT2ZHZW9tZXRyaWVzOyArK2N1cnJlbnRSZWN0KSB7CiAgICAgICAgIGlmIChn
ZW9tZXRyaWVzW2N1cnJlbnRSZWN0XS5saW5lTnVtYmVyKCkgIT0gZ2VvbWV0cmllc1tjdXJyZW50
UmVjdCAtIDFdLmxpbmVOdW1iZXIoKSkgewpAQCAtMjI2Myw2ICsyMjY3LDkgQEAgYXV0byBSZW5k
ZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzSW50ZXJuYWwoY29uc3QgU2ltcGxl
UmFuZ2UmIHJhbmdlKQogICAgICAgICBpZiAoZ2VvbWV0cmllc1tjdXJyZW50UmVjdF0ubG9naWNh
bExlZnQoKSA+PSBnZW9tZXRyaWVzW2N1cnJlbnRSZWN0IC0gMV0ubG9naWNhbExlZnQoKSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgIGlmIChnZW9tZXRyaWVzW2N1cnJlbnRSZWN0
XS5iZWhhdmlvcigpICE9IFNlbGVjdGlvblJlbmRlcmluZ0JlaGF2aW9yOjpDb2FsZXNjZUJvdW5k
aW5nUmVjdHMpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBhdXRvIHNlbGVjdGlv
blJlY3QgPSBnZW9tZXRyaWVzW2N1cnJlbnRSZWN0XTsKICAgICAgICAgc2l6ZV90IGk7CiAgICAg
ICAgIGZvciAoaSA9IGN1cnJlbnRSZWN0OyBpID4gZmlyc3RSZWN0V2l0aEN1cnJlbnRMaW5lTnVt
YmVyICYmIHNlbGVjdGlvblJlY3QubG9naWNhbExlZnQoKSA8IGdlb21ldHJpZXNbaSAtIDFdLmxv
Z2ljYWxMZWZ0KCk7IC0taSkKQEAgLTIzMDMsNiArMjMxMCwzNSBAQCBhdXRvIFJlbmRlck9iamVj
dDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXNJbnRlcm5hbChjb25zdCBTaW1wbGVSYW5nZSYg
cmFuZ2UpCiAgICAgcmV0dXJuIHsgV1RGTW92ZShnZW9tZXRyaWVzKSwgbWF4TGluZU51bWJlciB9
OwogfQogCitzdGF0aWMgYm9vbCBjb2FsZXNjZVNlbGVjdGlvbkdlb21ldHJ5V2l0aEFkamFjZW50
UXVhZHNJZlBvc3NpYmxlKFNlbGVjdGlvbkdlb21ldHJ5JiBjdXJyZW50LCBjb25zdCBTZWxlY3Rp
b25HZW9tZXRyeSYgbmV4dCkKK3sKKyAgICBhdXRvIG5leHRRdWFkID0gbmV4dC5xdWFkKCk7Cisg
ICAgaWYgKG5leHRRdWFkLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBh
dXRvIGFyZUNsb3NlRW5vdWdoVG9Db2FsZXNjZSA9IFtdKGNvbnN0IEZsb2F0UG9pbnQmIGZpcnN0
LCBjb25zdCBGbG9hdFBvaW50JiBzZWNvbmQpIHsKKyAgICAgICAgY29uc3RleHByIGZsb2F0IG1h
eERpc3RhbmNlQmV0d2VlbkJvdW5kYXJ5UG9pbnRzID0gMjsKKyAgICAgICAgcmV0dXJuIChmaXJz
dCAtIHNlY29uZCkuZGlhZ29uYWxMZW5ndGhTcXVhcmVkKCkgPD0gbWF4RGlzdGFuY2VCZXR3ZWVu
Qm91bmRhcnlQb2ludHMgKiBtYXhEaXN0YW5jZUJldHdlZW5Cb3VuZGFyeVBvaW50czsKKyAgICB9
OworCisgICAgYXV0byBjdXJyZW50UXVhZCA9IGN1cnJlbnQucXVhZCgpOworICAgIGlmICghYXJl
Q2xvc2VFbm91Z2hUb0NvYWxlc2NlKGN1cnJlbnRRdWFkLnAyKCksIG5leHRRdWFkLnAxKCkpIHx8
ICFhcmVDbG9zZUVub3VnaFRvQ29hbGVzY2UoY3VycmVudFF1YWQucDMoKSwgbmV4dFF1YWQucDQo
KSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChzdGQ6OmFicyhyb3RhdGVkQm91
bmRpbmdSZWN0V2l0aE1pbmltdW1BbmdsZU9mUm90YXRpb24oY3VycmVudFF1YWQpLmFuZ2xlSW5S
YWRpYW5zIC0gcm90YXRlZEJvdW5kaW5nUmVjdFdpdGhNaW5pbXVtQW5nbGVPZlJvdGF0aW9uKG5l
eHRRdWFkKS5hbmdsZUluUmFkaWFucykgPiByYWRpYW5zUGVyRGVncmVlRmxvYXQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGN1cnJlbnRRdWFkLnNldFAyKG5leHRRdWFkLnAyKCkpOwor
ICAgIGN1cnJlbnRRdWFkLnNldFAzKG5leHRRdWFkLnAzKCkpOworICAgIGN1cnJlbnQuc2V0UXVh
ZChjdXJyZW50UXVhZCk7CisgICAgY3VycmVudC5zZXREaXJlY3Rpb24oY3VycmVudC5jb250YWlu
c1N0YXJ0KCkgfHwgY3VycmVudC5jb250YWluc0VuZCgpID8gY3VycmVudC5kaXJlY3Rpb24oKSA6
IG5leHQuZGlyZWN0aW9uKCkpOworICAgIGN1cnJlbnQuc2V0Q29udGFpbnNTdGFydChjdXJyZW50
LmNvbnRhaW5zU3RhcnQoKSB8fCBuZXh0LmNvbnRhaW5zU3RhcnQoKSk7CisgICAgY3VycmVudC5z
ZXRDb250YWluc0VuZChjdXJyZW50LmNvbnRhaW5zRW5kKCkgfHwgbmV4dC5jb250YWluc0VuZCgp
KTsKKyAgICBjdXJyZW50LnNldElzRmlyc3RPbkxpbmUoY3VycmVudC5pc0ZpcnN0T25MaW5lKCkg
fHwgbmV4dC5pc0ZpcnN0T25MaW5lKCkpOworICAgIGN1cnJlbnQuc2V0SXNMYXN0T25MaW5lKGN1
cnJlbnQuaXNMYXN0T25MaW5lKCkgfHwgbmV4dC5pc0xhc3RPbkxpbmUoKSk7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKIFZlY3RvcjxTZWxlY3Rpb25HZW9tZXRyeT4gUmVuZGVyT2JqZWN0Ojpjb2xs
ZWN0U2VsZWN0aW9uR2VvbWV0cmllcyhjb25zdCBTaW1wbGVSYW5nZSYgcmFuZ2UpCiB7CiAgICAg
YXV0byByZXN1bHQgPSBSZW5kZXJPYmplY3Q6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzSW50
ZXJuYWwocmFuZ2UpOwpAQCAtMjMxNSwxMCArMjM1MSwxMCBAQCBWZWN0b3I8U2VsZWN0aW9uR2Vv
bWV0cnk+IFJlbmRlck9iamVjdDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMoY29uc3QgU2lt
cGxlUgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtYmVyT2ZHZW9tZXRyaWVzOyArK2kp
IHsKICAgICAgICAgYXV0byYgY3VycmVudEdlb21ldHJ5ID0gcmVzdWx0Lmdlb21ldHJpZXNbaV07
CiAgICAgICAgIGlmIChjdXJyZW50R2VvbWV0cnkuYmVoYXZpb3IoKSA9PSBTZWxlY3Rpb25SZW5k
ZXJpbmdCZWhhdmlvcjo6VXNlSW5kaXZpZHVhbFF1YWRzKSB7Ci0gICAgICAgICAgICAvLyBGSVhN
RTogV2Ugc3RpbGwgcHJvYmFibHkgd2FudCBzb21lIHdheSB0byBjb2FsZXNjZSBxdWFkcywgcHJv
YmFibHkgYnkgcHJvamVjdGluZyB0aGVtIG9udG8gcm90YXRlZCBib3VuZGluZyByZWN0cwotICAg
ICAgICAgICAgLy8gYW5kIHRoZW4gY2hlY2tpbmcgd2hldGhlciB0aGUgcm90YXRlZCBib3VuZGlu
ZyByZWN0cyBhcmUgb3ZlcmxhcHBpbmcgYW5kIHNoYXJlIHRoZSBzYW1lIHJvdGF0aW9uIGFuZ2xl
LiBVbnRpbCB0aGVuLAotICAgICAgICAgICAgLy8gd2Ugc2ltcGx5IGFwcGVuZCBhbGwgbm9uLWVt
cHR5IHF1YWRzLgotICAgICAgICAgICAgaWYgKCFjdXJyZW50R2VvbWV0cnkucXVhZCgpLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIGlmIChjdXJyZW50R2VvbWV0cnkucXVhZCgpLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgaWYgKGNvYWxlc2NlZEdl
b21ldHJpZXMuaXNFbXB0eSgpIHx8ICFjb2FsZXNjZVNlbGVjdGlvbkdlb21ldHJ5V2l0aEFkamFj
ZW50UXVhZHNJZlBvc3NpYmxlKGNvYWxlc2NlZEdlb21ldHJpZXMubGFzdCgpLCBjdXJyZW50R2Vv
bWV0cnkpKQogICAgICAgICAgICAgICAgIGNvYWxlc2NlZEdlb21ldHJpZXMuYXBwZW5kKGN1cnJl
bnRHZW9tZXRyeSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBj
ZjEzMWRiNzc0MDIwYTg1MWE5MjAwZWEzNWJiZTg1YjkxNDYxNGUzLi5lZTZkZDNhM2Y0ZjNjMGY1
MjVhNzEwMzI2YjM4ZDBlMGFjNzlhN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMTM0MCw2ICsxMzQwLDM0IEBAIHN0
YXRpYyBJbnRQb2ludCBjb25zdHJhaW5Qb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0
IEZyYW1lJiBmcmFtZSwgY29uc3QKICAgICByZXR1cm4gY29uc3RyYWluZWRQb2ludDsKIH0KIAor
c3RhdGljIGJvb2wgaW5zaWRlSW1hZ2VPdmVybGF5KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG9z
aXRpb24pCit7CisgICAgYXV0byBjb250YWluZXIgPSBtYWtlUmVmUHRyKHBvc2l0aW9uLmRlZXBF
cXVpdmFsZW50KCkuY29udGFpbmVyTm9kZSgpKTsKKyAgICByZXR1cm4gY29udGFpbmVyICYmIEhU
TUxFbGVtZW50Ojppc0luc2lkZUltYWdlT3ZlcmxheSgqY29udGFpbmVyKTsKK30KKworc3RhdGlj
IE9wdGlvbmFsPFNpbXBsZVJhbmdlPiBleHBhbmRGb3JJbWFnZU92ZXJsYXkoY29uc3QgU2ltcGxl
UmFuZ2UmIHJhbmdlKQoreworICAgIFZpc2libGVQb3NpdGlvbiBleHBhbmRlZFN0YXJ0KG1ha2VD
b250YWluZXJPZmZzZXRQb3NpdGlvbigmcmFuZ2Uuc3RhcnRDb250YWluZXIoKSwgcmFuZ2Uuc3Rh
cnRPZmZzZXQoKSkpOworICAgIFZpc2libGVQb3NpdGlvbiBleHBhbmRlZEVuZChtYWtlQ29udGFp
bmVyT2Zmc2V0UG9zaXRpb24oJnJhbmdlLmVuZENvbnRhaW5lcigpLCByYW5nZS5lbmRPZmZzZXQo
KSkpOworCisgICAgZm9yIChhdXRvIHN0YXJ0ID0gZXhwYW5kZWRTdGFydDsgaW5zaWRlSW1hZ2VP
dmVybGF5KHN0YXJ0KTsgc3RhcnQgPSBzdGFydC5wcmV2aW91cygpKSB7CisgICAgICAgIGlmIChh
dXRvIGNvbnRhaW5lciA9IG1ha2VSZWZQdHIoc3RhcnQuZGVlcEVxdWl2YWxlbnQoKS5jb250YWlu
ZXJOb2RlKCkpOyBpczxUZXh0Pihjb250YWluZXIpKSB7CisgICAgICAgICAgICBleHBhbmRlZFN0
YXJ0ID0gZmlyc3RQb3NpdGlvbkluTm9kZShjb250YWluZXIuZ2V0KCkpLmRvd25zdHJlYW0oKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgZm9yIChhdXRvIGVu
ZCA9IGV4cGFuZGVkRW5kOyBpbnNpZGVJbWFnZU92ZXJsYXkoZW5kKTsgZW5kID0gZW5kLm5leHQo
KSkgeworICAgICAgICBpZiAoYXV0byBjb250YWluZXIgPSBtYWtlUmVmUHRyKGVuZC5kZWVwRXF1
aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKSk7IGlzPFRleHQ+KGNvbnRhaW5lcikpIHsKKyAgICAg
ICAgICAgIGV4cGFuZGVkRW5kID0gbGFzdFBvc2l0aW9uSW5Ob2RlKGNvbnRhaW5lci5nZXQoKSku
dXBzdHJlYW0oKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAg
cmV0dXJuIG1ha2VTaW1wbGVSYW5nZSh7IGV4cGFuZGVkU3RhcnQsIGV4cGFuZGVkRW5kIH0pOwor
fQorCiB2b2lkIFdlYlBhZ2U6OnNlbGVjdFdpdGhHZXN0dXJlKGNvbnN0IEludFBvaW50JiBwb2lu
dCwgR2VzdHVyZVR5cGUgZ2VzdHVyZVR5cGUsIEdlc3R1cmVSZWNvZ25pemVyU3RhdGUgZ2VzdHVy
ZVN0YXRlLCBib29sIGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBHZXN0dXJlVHlwZSwgR2VzdHVy
ZVJlY29nbml6ZXJTdGF0ZSwgT3B0aW9uU2V0PFNlbGVjdGlvbkZsYWdzPik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAgICAgaWYgKHN0YXRpY19jYXN0PEdlc3R1cmVSZWNvZ25pemVyU3RhdGU+
KGdlc3R1cmVTdGF0ZSkgPT0gR2VzdHVyZVJlY29nbml6ZXJTdGF0ZTo6QmVnYW4pCkBAIC0xNTM3
LDYgKzE1NjUsOSBAQCBzdGF0aWMgT3B0aW9uYWw8U2ltcGxlUmFuZ2U+IHJhbmdlRm9yUG9pbnRJ
blJvb3RWaWV3Q29vcmRpbmF0ZXMoRnJhbWUmIGZyYW1lLCBjbwogICAgICAgICByYW5nZSA9IG1h
a2VTaW1wbGVSYW5nZShyZXN1bHQsIHNlbGVjdGlvbkVuZCk7CiAgICAgfQogICAgIAorICAgIGlm
IChyYW5nZSAmJiBIVE1MRWxlbWVudDo6aXNJbnNpZGVJbWFnZU92ZXJsYXkoKnJhbmdlKSkKKyAg
ICAgICAgcmV0dXJuIGV4cGFuZEZvckltYWdlT3ZlcmxheSgqcmFuZ2UpOworCiAgICAgcmV0dXJu
IHJhbmdlOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggOThkNmFjYzE5YWE0OTM1OWY3ZWZkNTUyMTJmMDAxNDgzZThm
MmY0ZS4uZDgzNTBmYTI5MTdjMjdiYTc5MWIxODEyNDE2OTkzYWE4YTBhMWUzZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTA0LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIENvYWxlc2NlIGFkamFjZW50IHNlbGVjdGlvbiBnZW9t
ZXRyaWVzIHdoZW4gcmVuZGVyaW5nIGluZGl2aWR1YWwgc2VsZWN0aW9uIHF1YWRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUwNTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQgdGVz
dCB0byB2ZXJpZnkgdGhhdCBhZGphY2VudCBzZWxlY3Rpb24gcmVjdHMgcm90YXRlZCBieSB0aGUg
c2FtZSBhbW91bnQgY2FuIGJlIGNvYWxlc2NlZC4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2lt
YWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1vdmVy
bGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtZXh0
cmFjdGlvbi9pb3MvY29hbGVzY2Utc2VsZWN0aW9uLXJlY3RzLWluLWltYWdlLW92ZXJsYXkuaHRt
bDogQWRkZWQuCisKIDIwMjEtMDQtMjggIENocmlzIEdhbWJyZWxsICA8Y2dhbWJyZWxsQGFwcGxl
LmNvbT4KIAogICAgICAgICBbIFdpbiBdIDQgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvIHRlc3RzIGFyZSBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMt
aW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1leHRyYWN0aW9uL2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3Zl
cmxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzExZTRjNzMyNzhjNzVlNTYwN2E5MWQ0MTdk
ZjA4MmY4ZmQxYzQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFnZS1v
dmVybGF5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1Mgc2VsZWN0aW9uUmVjdHNB
ZnRlclNlbGVjdGluZ0FsbC5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL2NvYWxlc2NlLXNlbGVjdGlvbi1yZWN0cy1pbi1pbWFn
ZS1vdmVybGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9u
L2lvcy9jb2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY0NTYyYjYyMGIzZDc1NzY1NGE0NmZiNWMyNjkyMDA4YTJhZGYyNzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9j
b2FsZXNjZS1zZWxlY3Rpb24tcmVjdHMtaW4taW1hZ2Utb3ZlcmxheS5odG1sCkBAIC0wLDAgKzEs
NTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2JvZHksIGh0
bWwgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aW1nIHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dyZWVuLTQwMHg0MDAucG5nIj48L2ltZz4KKzxzY3Jp
cHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFz
eW5jICgpID0+IHsKKyAgICBpbnRlcm5hbHMuaW5zdGFsbEltYWdlT3ZlcmxheShkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJpbWciKSwgWworICAgICAgICB7CisgICAgICAgICAgICB0b3BMZWZ0IDog
bmV3IERPTVBvaW50UmVhZE9ubHkoMC4xLCAwLjMpLAorICAgICAgICAgICAgdG9wUmlnaHQgOiBu
ZXcgRE9NUG9pbnRSZWFkT25seSgwLjMsIDAuMSksCisgICAgICAgICAgICBib3R0b21SaWdodCA6
IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuNCwgMC4yKSwKKyAgICAgICAgICAgIGJvdHRvbUxlZnQg
OiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjIsIDAuNCksCisgICAgICAgICAgICBjaGlsZHJlbjog
WworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICJBQiIsCisg
ICAgICAgICAgICAgICAgICAgIHRvcExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjEsIDAu
MyksCisgICAgICAgICAgICAgICAgICAgIHRvcFJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHko
MC4yLCAwLjIpLAorICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2lu
dFJlYWRPbmx5KDAuMywgMC4zKSwKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tTGVmdCA6IG5l
dyBET01Qb2ludFJlYWRPbmx5KDAuMiwgMC40KSwKKyAgICAgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICJDRCIsCisgICAgICAgICAg
ICAgICAgICAgIHRvcExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjIsIDAuMiksCisgICAg
ICAgICAgICAgICAgICAgIHRvcFJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4zLCAwLjEp
LAorICAgICAgICAgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2ludFJlYWRPbmx5
KDAuNCwgMC4yKSwKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tTGVmdCA6IG5ldyBET01Qb2lu
dFJlYWRPbmx5KDAuMywgMC4zKSwKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdCisg
ICAgICAgIH0KKyAgICBdKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmxvbmdQcmVzc0F0UG9pbnQo
ODAsIDEyMCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvclNlbGVjdGlvblRvQXBwZWFyKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOworICAgIGF3YWl0IFVJSGVs
cGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgIHNlbGVjdGlvblJlY3RzQWZ0ZXJT
ZWxlY3RpbmdBbGwgPSBhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblZpZXdSZWN0cygpOwor
ICAgIHNob3VsZEJlKCJzZWxlY3Rpb25SZWN0c0FmdGVyU2VsZWN0aW5nQWxsLmxlbmd0aCIsICIx
Iik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>