<?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>230642</bug_id>
          
          <creation_ts>2021-09-22 14:37:09 -0700</creation_ts>
          <short_desc>Turn WebCore::LineCap and WebCore::LineJoin into 8-bit enum classes</short_desc>
          <delta_ts>2021-09-22 21:32:15 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</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>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796212</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-22 14:37:09 -0700</bug_when>
    <thetext>Some self-contained refactoring, en route to larger changes around the concurrent display list processing model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796251</commentid>
    <comment_count>1</comment_count>
      <attachid>438985</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-22 16:09:45 -0700</bug_when>
    <thetext>Created attachment 438985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796264</commentid>
    <comment_count>2</comment_count>
      <attachid>438990</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-22 16:30:05 -0700</bug_when>
    <thetext>Created attachment 438990
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796302</commentid>
    <comment_count>3</comment_count>
      <attachid>438990</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-22 17:44:59 -0700</bug_when>
    <thetext>Comment on attachment 438990
For EWS

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

&gt; Source/WebCore/platform/graphics/GraphicsTypes.h:93
&gt;      ButtCap,
&gt;      RoundCap,
&gt;      SquareCap

Butt, Round, Square

&gt; Source/WebCore/platform/graphics/GraphicsTypes.h:99
&gt;      MiterJoin,
&gt;      RoundJoin,
&gt;      BevelJoin

Miter, Round, Bevel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796308</commentid>
    <comment_count>4</comment_count>
      <attachid>438990</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-22 17:56:40 -0700</bug_when>
    <thetext>Comment on attachment 438990
For EWS

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

Thanks for the review.

&gt;&gt; Source/WebCore/platform/graphics/GraphicsTypes.h:93
&gt;&gt;      SquareCap
&gt; 
&gt; Butt, Round, Square

Fixed!

&gt;&gt; Source/WebCore/platform/graphics/GraphicsTypes.h:99
&gt;&gt;      BevelJoin
&gt; 
&gt; Miter, Round, Bevel.

👍🏻</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796319</commentid>
    <comment_count>5</comment_count>
      <attachid>439003</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-22 18:48:53 -0700</bug_when>
    <thetext>Created attachment 439003
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796355</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-22 21:30:57 -0700</bug_when>
    <thetext>Committed r282920 (242034@main): &lt;https://commits.webkit.org/242034@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439003.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796356</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-22 21:32:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/83431075&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438985</attachid>
            <date>2021-09-22 16:09:45 -0700</date>
            <delta_ts>2021-09-22 16:32:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230642-20210922160943.patch</filename>
            <type>text/plain</type>
            <size>20593</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkZTI1MGMyNDUyOGUw
YTYzMGUwOGQ0Y2MyYTlkN2U4OGNlZDIxMi4uODJjMTNhOTU0NWIzNjFhMWE2MzBhNDUxMzI3ZjJl
NWQ2NjVlYzFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTA5LTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFR1cm4gV2ViQ29y
ZTo6TGluZUNhcCBhbmQgV2ViQ29yZTo6TGluZUpvaW4gaW50byA4LWJpdCBlbnVtIGNsYXNzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDY0Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgTGlu
ZUpvaW4gYW5kIExpbmVDYXAgZW51bSBjbGFzc2VzLCBiYWNrZWQgYnkgdWludDhfdC4gVGhpcyBt
YWtlcyBpdCBlYXNpZXIgdG8gc2VuZCB0aGVzZSBlbnVtIHR5cGVzIGFzIElQQworICAgICAgICBh
cmd1bWVudHMgdG8gdGhlIEdQVSBwcm9jZXNzLiBVc2luZyBzdHJvbmdseSB0eXBlZCBpZGVudGlm
aWVycyBpcyBhbHNvIGJldHRlciBmb3IgdHlwZSBzYWZldHkuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUNh
cCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3Ig
TGluZUpvaW4gY29uc3QpOgorCisgICAgICAgIFByZWZpeCBpbmRpdmlkdWFsIGVudW0gdmFsdWVz
IHdpdGggYExpbmVDYXA6OmAgYW5kIGBMaW5lSm9pbjo6YCwgYXMgbmVlZGVkLgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0NhbnZhc0xpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6ZnJvbUNhbnZh
c0xpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6dG9DYW52YXNMaW5lSm9pbik6CisgICAgICAg
IChXZWJDb3JlOjpmcm9tQ2FudmFzTGluZUpvaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VSZWN0IGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUNh
cCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUpvaW4pOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpkcmF3UmVwbGFjZW1lbnRBcnJvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQ
YWludFN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZUdyYXBoaWNzQ29udGV4dCk6
CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
c2V0Q2FwU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDYXBT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Sm9pblN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjppbml0aWFsSm9pblN0eWxlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUGF0aDo6c2hhcGVEZXBlbmRlbnRTdHJva2VDb250YWlucyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdQYXRoOjpzaG91bGRTdHJva2VaZXJvTGVuZ3RoU3VicGF0
aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdQYXRoOjp6ZXJvTGVuZ3RoTGlu
ZWNhcFBhdGggY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9y
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjphcHBseVN0cm9rZVN0
eWxlVG9Db250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1Rl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVTdHlsZSk6CisKIDIwMjEtMDktMTkgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0xpdmUgVGV4
dF0gQWRvcHQgV2Vha0hhc2hNYXAgZm9yIGNhY2hpbmcgcGVyLWVsZW1lbnQgdGV4dCByZWNvZ25p
dGlvbiByZXN1bHRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAppbmRleCBhMzM1MmZmNDI5ZTU5ZjAxZWQxODRmMDExOWZjMDUxYzc4Yzc0MWRhLi42
YWUyMjQ2M2M1YTI2NWVmNmNmZGYyNGMzYzU2M2Q3ZTY4ZDY0ZTM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM5MTcsMTMgKzM5MTcs
MTMgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZh
bHVlKExpbmVDYXAgZSkKIHsKICAgICBzZXRQcmltaXRpdmVVbml0VHlwZShDU1NVbml0VHlwZTo6
Q1NTX1ZBTFVFX0lEKTsKICAgICBzd2l0Y2ggKGUpIHsKLSAgICBjYXNlIEJ1dHRDYXA6CisgICAg
Y2FzZSBMaW5lQ2FwOjpCdXR0Q2FwOgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZUJ1dHQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUm91bmRDYXA6CisgICAgY2FzZSBMaW5l
Q2FwOjpSb3VuZENhcDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVSb3VuZDsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpT
cXVhcmVDYXA6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlU3F1YXJlOwogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC0zOTM1LDE3ICszOTM1LDE3IEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBMaW5lQ2FwKCkgY29uc3QKIAogICAgIHN3
aXRjaCAobV92YWx1ZS52YWx1ZUlEKSB7CiAgICAgY2FzZSBDU1NWYWx1ZUJ1dHQ6Ci0gICAgICAg
IHJldHVybiBCdXR0Q2FwOworICAgICAgICByZXR1cm4gTGluZUNhcDo6QnV0dENhcDsKICAgICBj
YXNlIENTU1ZhbHVlUm91bmQ6Ci0gICAgICAgIHJldHVybiBSb3VuZENhcDsKKyAgICAgICAgcmV0
dXJuIExpbmVDYXA6OlJvdW5kQ2FwOwogICAgIGNhc2UgQ1NTVmFsdWVTcXVhcmU6Ci0gICAgICAg
IHJldHVybiBTcXVhcmVDYXA7CisgICAgICAgIHJldHVybiBMaW5lQ2FwOjpTcXVhcmVDYXA7CiAg
ICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIEJ1dHRDYXA7CisgICAgcmV0dXJuIExpbmVDYXA6OkJ1dHRDYXA7
CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZShMaW5lSm9pbiBlKQpAQCAtMzk1MywxMyArMzk1MywxMyBAQCB0ZW1wbGF0ZTw+IGlubGlu
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoTGluZUpvaW4gZSkKIHsKICAg
ICBzZXRQcmltaXRpdmVVbml0VHlwZShDU1NVbml0VHlwZTo6Q1NTX1ZBTFVFX0lEKTsKICAgICBz
d2l0Y2ggKGUpIHsKLSAgICBjYXNlIE1pdGVySm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpNaXRl
ckpvaW46CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTWl0ZXI7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kSm9p
bjoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVSb3VuZDsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBCZXZlbEpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6QmV2ZWxKb2luOgog
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJldmVsOwogICAgICAgICBicmVhazsK
ICAgICB9CkBAIC0zOTcxLDE3ICszOTcxLDE3IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpvcGVyYXRvciBMaW5lSm9pbigpIGNvbnN0CiAKICAgICBzd2l0Y2ggKG1fdmFs
dWUudmFsdWVJRCkgewogICAgIGNhc2UgQ1NTVmFsdWVNaXRlcjoKLSAgICAgICAgcmV0dXJuIE1p
dGVySm9pbjsKKyAgICAgICAgcmV0dXJuIExpbmVKb2luOjpNaXRlckpvaW47CiAgICAgY2FzZSBD
U1NWYWx1ZVJvdW5kOgotICAgICAgICByZXR1cm4gUm91bmRKb2luOworICAgICAgICByZXR1cm4g
TGluZUpvaW46OlJvdW5kSm9pbjsKICAgICBjYXNlIENTU1ZhbHVlQmV2ZWw6Ci0gICAgICAgIHJl
dHVybiBCZXZlbEpvaW47CisgICAgICAgIHJldHVybiBMaW5lSm9pbjo6QmV2ZWxKb2luOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBNaXRlckpvaW47CisgICAgcmV0dXJuIExpbmVKb2luOjpNaXRlckpv
aW47CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRp
dmVWYWx1ZShXaW5kUnVsZSBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRleCA4MjZiMzhjOWM3
YmM4Y2I2NzhmNWY2NWVlZDc2MTRmYzViYWVhZmJhLi40MDEzOTdjZDkwMmM2OTRiNWRiOTViNjY0
YTlhZDA1YzFmMjM0YjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAtOTEsMTEgKzkxLDEx
IEBAIHN0YXRpYyBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIERlZmF1bHRGb250ID0gIjEwcHggc2Fu
cy1zZXJpZiJfczsKIHN0YXRpYyBDYW52YXNMaW5lQ2FwIHRvQ2FudmFzTGluZUNhcChMaW5lQ2Fw
IGxpbmVDYXApCiB7CiAgICAgc3dpdGNoIChsaW5lQ2FwKSB7Ci0gICAgY2FzZSBCdXR0Q2FwOgor
ICAgIGNhc2UgTGluZUNhcDo6QnV0dENhcDoKICAgICAgICAgcmV0dXJuIENhbnZhc0xpbmVDYXA6
OkJ1dHQ7Ci0gICAgY2FzZSBSb3VuZENhcDoKKyAgICBjYXNlIExpbmVDYXA6OlJvdW5kQ2FwOgog
ICAgICAgICByZXR1cm4gQ2FudmFzTGluZUNhcDo6Um91bmQ7Ci0gICAgY2FzZSBTcXVhcmVDYXA6
CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmVDYXA6CiAgICAgICAgIHJldHVybiBDYW52YXNMaW5l
Q2FwOjpTcXVhcmU7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTA2LDI0
ICsxMDYsMjQgQEAgc3RhdGljIExpbmVDYXAgZnJvbUNhbnZhc0xpbmVDYXAoQ2FudmFzTGluZUNh
cCBjYW52YXNMaW5lQ2FwKQogewogICAgIHN3aXRjaCAoY2FudmFzTGluZUNhcCkgewogICAgIGNh
c2UgQ2FudmFzTGluZUNhcDo6QnV0dDoKLSAgICAgICAgcmV0dXJuIEJ1dHRDYXA7CisgICAgICAg
IHJldHVybiBMaW5lQ2FwOjpCdXR0Q2FwOwogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6Um91bmQ6
Ci0gICAgICAgIHJldHVybiBSb3VuZENhcDsKKyAgICAgICAgcmV0dXJuIExpbmVDYXA6OlJvdW5k
Q2FwOwogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6U3F1YXJlOgotICAgICAgICByZXR1cm4gU3F1
YXJlQ2FwOworICAgICAgICByZXR1cm4gTGluZUNhcDo6U3F1YXJlQ2FwOwogICAgIH0KICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQnV0dENhcDsKKyAgICByZXR1cm4gTGlu
ZUNhcDo6QnV0dENhcDsKIH0KIAogc3RhdGljIENhbnZhc0xpbmVKb2luIHRvQ2FudmFzTGluZUpv
aW4oTGluZUpvaW4gbGluZUpvaW4pCiB7CiAgICAgc3dpdGNoIChsaW5lSm9pbikgewotICAgIGNh
c2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kSm9pbjoKICAgICAgICAgcmV0
dXJuIENhbnZhc0xpbmVKb2luOjpSb3VuZDsKLSAgICBjYXNlIEJldmVsSm9pbjoKKyAgICBjYXNl
IExpbmVKb2luOjpCZXZlbEpvaW46CiAgICAgICAgIHJldHVybiBDYW52YXNMaW5lSm9pbjo6QmV2
ZWw7Ci0gICAgY2FzZSBNaXRlckpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6TWl0ZXJKb2luOgog
ICAgICAgICByZXR1cm4gQ2FudmFzTGluZUpvaW46Ok1pdGVyOwogICAgIH0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKQEAgLTEzNCwxNCArMTM0LDE0IEBAIHN0YXRpYyBMaW5lSm9pbiBmcm9t
Q2FudmFzTGluZUpvaW4oQ2FudmFzTGluZUpvaW4gY2FudmFzTGluZUpvaW4pCiB7CiAgICAgc3dp
dGNoIChjYW52YXNMaW5lSm9pbikgewogICAgIGNhc2UgQ2FudmFzTGluZUpvaW46OlJvdW5kOgot
ICAgICAgICByZXR1cm4gUm91bmRKb2luOworICAgICAgICByZXR1cm4gTGluZUpvaW46OlJvdW5k
Sm9pbjsKICAgICBjYXNlIENhbnZhc0xpbmVKb2luOjpCZXZlbDoKLSAgICAgICAgcmV0dXJuIEJl
dmVsSm9pbjsKKyAgICAgICAgcmV0dXJuIExpbmVKb2luOjpCZXZlbEpvaW47CiAgICAgY2FzZSBD
YW52YXNMaW5lSm9pbjo6TWl0ZXI6Ci0gICAgICAgIHJldHVybiBNaXRlckpvaW47CisgICAgICAg
IHJldHVybiBMaW5lSm9pbjo6TWl0ZXJKb2luOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICByZXR1cm4gUm91bmRKb2luOworICAgIHJldHVybiBMaW5lSm9pbjo6Um91bmRK
b2luOwogfQogCiBzdGF0aWMgQ2FudmFzVGV4dEFsaWduIHRvQ2FudmFzVGV4dEFsaWduKFRleHRB
bGlnbiB0ZXh0QWxpZ24pCkBAIC0yNzMsOCArMjczLDggQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZTo6U3RhdGU6OlN0YXRlKCkKICAgICA6IHN0cm9rZVN0eWxlKENvbG9yOjpibGFjaykK
ICAgICAsIGZpbGxTdHlsZShDb2xvcjo6YmxhY2spCiAgICAgLCBsaW5lV2lkdGgoMSkKLSAgICAs
IGxpbmVDYXAoQnV0dENhcCkKLSAgICAsIGxpbmVKb2luKE1pdGVySm9pbikKKyAgICAsIGxpbmVD
YXAoTGluZUNhcDo6QnV0dENhcCkKKyAgICAsIGxpbmVKb2luKExpbmVKb2luOjpNaXRlckpvaW4p
CiAgICAgLCBtaXRlckxpbWl0KDEwKQogICAgICwgc2hhZG93Qmx1cigwKQogICAgICwgc2hhZG93
Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spCkBAIC0yMjY2LDkgKzIyNjYsOSBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VSZWN0KEZsb2F0UmVj
dCYgcmVjdCkgY29uc3QKICAgICAvLyBjb21wYXJlZCB0byBQYXRoOjpzdHJva2VCb3VuZGluZ1Jl
Y3QoKS4KICAgICBzdGF0aWMgY29uc3QgZmxvYXQgcm9vdDIgPSBzcXJ0ZigyKTsKICAgICBmbG9h
dCBkZWx0YSA9IHN0YXRlKCkubGluZVdpZHRoIC8gMjsKLSAgICBpZiAoc3RhdGUoKS5saW5lSm9p
biA9PSBNaXRlckpvaW4pCisgICAgaWYgKHN0YXRlKCkubGluZUpvaW4gPT0gTGluZUpvaW46Ok1p
dGVySm9pbikKICAgICAgICAgZGVsdGEgKj0gc3RhdGUoKS5taXRlckxpbWl0OwotICAgIGVsc2Ug
aWYgKHN0YXRlKCkubGluZUNhcCA9PSBTcXVhcmVDYXApCisgICAgZWxzZSBpZiAoc3RhdGUoKS5s
aW5lQ2FwID09IExpbmVDYXA6OlNxdWFyZUNhcCkKICAgICAgICAgZGVsdGEgKj0gcm9vdDI7CiAg
ICAgcmVjdC5pbmZsYXRlKGRlbHRhKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5jcHAKaW5kZXggOGU4ZGE4ZmU1MTBmOTYxM2Y4OWQw
ZjljN2JmYTg1YjIxNDkzNmRkNC4uZTk4ZjAwZjExMGQxMmRjMjRmN2IwZjA2OWVmZjBjZjEzZjk4
YTEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NUeXBlcy5jcHAKQEAgLTE1MywxMyArMTUzLDEzIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwo
VGV4dFN0cmVhbSYgdHMsIFdpbmRSdWxlIHJ1bGUpCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBMaW5lQ2FwIGNhcFN0eWxlKQogewogICAgIHN3aXRjaCAoY2FwU3R5bGUp
IHsKLSAgICBjYXNlIEJ1dHRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpCdXR0Q2FwOgogICAgICAg
ICB0cyA8PCAiQlVUVCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUm91bmRDYXA6CisgICAg
Y2FzZSBMaW5lQ2FwOjpSb3VuZENhcDoKICAgICAgICAgdHMgPDwgIlJPVU5EIjsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmVDYXA6
CiAgICAgICAgIHRzIDw8ICJTUVVBUkUiOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNjks
MTMgKzE2OSwxMyBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMaW5l
Q2FwIGNhcFN0eWxlKQogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgTGlu
ZUpvaW4gam9pblN0eWxlKQogewogICAgIHN3aXRjaCAoam9pblN0eWxlKSB7Ci0gICAgY2FzZSBN
aXRlckpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6TWl0ZXJKb2luOgogICAgICAgICB0cyA8PCAi
TUlURVIiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBjYXNlIExp
bmVKb2luOjpSb3VuZEpvaW46CiAgICAgICAgIHRzIDw8ICJST1VORCI7CiAgICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpvaW46OkJldmVsSm9pbjoKICAg
ICAgICAgdHMgPDwgIkJFVkVMIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCmluZGV4IDQ2ZWYwNDZk
ZWViMDJiYTEwZDM3NjVjZGQwZjVjNmViNzhlZjVlYTEuLjZjMWJlODFkNGEyZTE4ZjdhMTJhYTIz
ZTVlOWM2MjhhYjhmNDg3MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc1R5cGVzLmgKQEAgLTg3LDEzICs4NywxMyBAQCBlbnVtIGNsYXNzIEludGVy
cG9sYXRpb25RdWFsaXR5IDogdWludDhfdCB7CiAgICAgSGlnaAogfTsKIAotZW51bSBMaW5lQ2Fw
IHsKK2VudW0gY2xhc3MgTGluZUNhcCA6IHVpbnQ4X3QgewogICAgIEJ1dHRDYXAsCiAgICAgUm91
bmRDYXAsCiAgICAgU3F1YXJlQ2FwCiB9OwogCi1lbnVtIExpbmVKb2luIHsKK2VudW0gY2xhc3Mg
TGluZUpvaW4gOiB1aW50OF90IHsKICAgICBNaXRlckpvaW4sCiAgICAgUm91bmRKb2luLAogICAg
IEJldmVsSm9pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IGE3NjJiMDU4ODE0NmE1MWI4NTNkYjQ2
NGVjY2U2ZGVjMTc3MTRjYzYuLjkzN2E3OTgzMmM4ZThiZDFhY2EwODIwY2RiY2NjOTliOTdjNTJm
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTExODQsMTMgKzExODQsMTMgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHRDRzo6c3Ryb2tlUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGZsb2F0IGxp
bmVXaWR0aCkKIHZvaWQgR3JhcGhpY3NDb250ZXh0Q0c6OnNldExpbmVDYXAoTGluZUNhcCBjYXAp
CiB7CiAgICAgc3dpdGNoIChjYXApIHsKLSAgICBjYXNlIEJ1dHRDYXA6CisgICAgY2FzZSBMaW5l
Q2FwOjpCdXR0Q2FwOgogICAgICAgICBDR0NvbnRleHRTZXRMaW5lQ2FwKHBsYXRmb3JtQ29udGV4
dCgpLCBrQ0dMaW5lQ2FwQnV0dCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUm91bmRDYXA6
CisgICAgY2FzZSBMaW5lQ2FwOjpSb3VuZENhcDoKICAgICAgICAgQ0dDb250ZXh0U2V0TGluZUNh
cChwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUNhcFJvdW5kKTsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmVDYXA6CiAgICAgICAg
IENHQ29udGV4dFNldExpbmVDYXAocGxhdGZvcm1Db250ZXh0KCksIGtDR0xpbmVDYXBTcXVhcmUp
OwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xMjExLDEzICsxMjExLDEzIEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0Q0c6OnNldExpbmVEYXNoKGNvbnN0IERhc2hBcnJheSYgZGFzaGVzLCBmbG9h
dCBkYXNoT2Zmc2V0KQogdm9pZCBHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUpvaW4oTGluZUpv
aW4gam9pbikKIHsKICAgICBzd2l0Y2ggKGpvaW4pIHsKLSAgICBjYXNlIE1pdGVySm9pbjoKKyAg
ICBjYXNlIExpbmVKb2luOjpNaXRlckpvaW46CiAgICAgICAgIENHQ29udGV4dFNldExpbmVKb2lu
KHBsYXRmb3JtQ29udGV4dCgpLCBrQ0dMaW5lSm9pbk1pdGVyKTsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBSb3VuZEpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6Um91bmRKb2luOgogICAgICAg
ICBDR0NvbnRleHRTZXRMaW5lSm9pbihwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUpvaW5Sb3Vu
ZCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpv
aW46OkJldmVsSm9pbjoKICAgICAgICAgQ0dDb250ZXh0U2V0TGluZUpvaW4ocGxhdGZvcm1Db250
ZXh0KCksIGtDR0xpbmVKb2luQmV2ZWwpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAppbmRleCBl
MWNkMDI0OWFkNzBjNmJmNGI2MGY4MGZmMTJhYzJjNTU3ZGZlYzViLi5hNjNmYmJkMzBiYTljOTZi
NDgwNzlkMjQ2MmIwM2ZlMzZiMmI4Zjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKQEAgLTIwNiw4ICsyMDYsOCBAQCBzdGF0aWMg
dm9pZCBkcmF3UmVwbGFjZW1lbnRBcnJvdyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0
IEZsb2F0UmVjdCYgaW5zaQogICAgIEZsb2F0UG9pbnQgYXJyb3dUaXAocmVjdC5tYXhYKCksIGNl
bnRlci55KCkpOwogCiAgICAgY29udGV4dC5zZXRTdHJva2VUaGlja25lc3MoMik7Ci0gICAgY29u
dGV4dC5zZXRMaW5lQ2FwKFJvdW5kQ2FwKTsKLSAgICBjb250ZXh0LnNldExpbmVKb2luKFJvdW5k
Sm9pbik7CisgICAgY29udGV4dC5zZXRMaW5lQ2FwKExpbmVDYXA6OlJvdW5kQ2FwKTsKKyAgICBj
b250ZXh0LnNldExpbmVKb2luKExpbmVKb2luOjpSb3VuZEpvaW4pOwogCiAgICAgUGF0aCBwYXRo
OwogICAgIHBhdGgubW92ZVRvKEZsb2F0UG9pbnQocmVjdC54KCksIGNlbnRlci55KCkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCmluZGV4IDQ5ZWZmMzY3
YzBjMzQyM2ExYTllZDI5YjQyMTZkYTJhNDA5ZTdmM2IuLmQ2MDNjZGEwYmEzNTU3Y2Q5MGFjYWNi
MDk5YzQwYjdjZTMwMzcxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
ZXh0UGFpbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgVGV4dFBhaW50U3R5bGUmIHBhaW50CiAg
ICAgICAgICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcyhwYWludFN0eWxlLnN0cm9rZVdp
ZHRoKTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lSm9pbihwYWludFN0eWxlLmxpbmVKb2luKTsK
ICAgICAgICAgY29udGV4dC5zZXRMaW5lQ2FwKHBhaW50U3R5bGUubGluZUNhcCk7Ci0gICAgICAg
IGlmIChwYWludFN0eWxlLmxpbmVKb2luID09IE1pdGVySm9pbikKKyAgICAgICAgaWYgKHBhaW50
U3R5bGUubGluZUpvaW4gPT0gTGluZUpvaW46Ok1pdGVySm9pbikKICAgICAgICAgICAgIGNvbnRl
eHQuc2V0TWl0ZXJMaW1pdChwYWludFN0eWxlLm1pdGVyTGltaXQpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgKaW5kZXggNTE3OTJkZWUwMmYzMmIy
YzE0ZDU4ZmJkZjM2NWVmMzUzMDRhNDQzNi4uOWVlZDE0MWVkNDJmYzExNTRkZWViZTk0ZTIwYmVh
MGUxZTE3N2Q0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgK
QEAgLTUzLDggKzUzLDggQEAgc3RydWN0IFRleHRQYWludFN0eWxlIHsKICAgICBib29sIHVzZURh
cmtBcHBlYXJhbmNlIHsgZmFsc2UgfTsKICNlbmRpZgogICAgIFBhaW50T3JkZXIgcGFpbnRPcmRl
ciB7IFBhaW50T3JkZXI6Ok5vcm1hbCB9OwotICAgIExpbmVKb2luIGxpbmVKb2luIHsgTWl0ZXJK
b2luIH07Ci0gICAgTGluZUNhcCBsaW5lQ2FwIHsgQnV0dENhcCB9OworICAgIExpbmVKb2luIGxp
bmVKb2luIHsgTGluZUpvaW46Ok1pdGVySm9pbiB9OworICAgIExpbmVDYXAgbGluZUNhcCB7IExp
bmVDYXA6OkJ1dHRDYXAgfTsKICAgICBmbG9hdCBtaXRlckxpbWl0IHsgZGVmYXVsdE1pdGVyTGlt
aXQgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggMTc1NjQ5ODEwODIyYjAyNWFlOWZlZTYxZjBkYjkyMzkyZWVlNWFjYS4uYTcwMTU0
OWY4ZmFiOWVjYTZmNTU1MzAzMDc3ZWUwY2IwZjk5NTNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEzNTksMTMgKzEzNTksMTMgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYWludE9yZGVyIGluaXRpYWxQYWludE9yZGVyKCkgeyByZXR1cm4g
UGFpbnRPcmRlcjo6Tm9ybWFsOyB9CiAgICAgc3RhdGljIFZlY3RvcjxQYWludFR5cGUsIDM+IHBh
aW50VHlwZXNGb3JQYWludE9yZGVyKFBhaW50T3JkZXIpOwogICAgIAotICAgIHZvaWQgc2V0Q2Fw
U3R5bGUoTGluZUNhcCB2YWwpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBjYXBTdHls
ZSwgdmFsKTsgfQorICAgIHZvaWQgc2V0Q2FwU3R5bGUoTGluZUNhcCB2YWwpIHsgU0VUX1ZBUiht
X3JhcmVJbmhlcml0ZWREYXRhLCBjYXBTdHlsZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbCkp
OyB9CiAgICAgTGluZUNhcCBjYXBTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PExp
bmVDYXA+KG1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlKTsgfQotICAgIHN0YXRpYyBMaW5l
Q2FwIGluaXRpYWxDYXBTdHlsZSgpIHsgcmV0dXJuIEJ1dHRDYXA7IH0KKyAgICBzdGF0aWMgTGlu
ZUNhcCBpbml0aWFsQ2FwU3R5bGUoKSB7IHJldHVybiBMaW5lQ2FwOjpCdXR0Q2FwOyB9CiAgICAg
Ci0gICAgdm9pZCBzZXRKb2luU3R5bGUoTGluZUpvaW4gdmFsKSB7IFNFVF9WQVIobV9yYXJlSW5o
ZXJpdGVkRGF0YSwgam9pblN0eWxlLCB2YWwpOyB9CisgICAgdm9pZCBzZXRKb2luU3R5bGUoTGlu
ZUpvaW4gdmFsKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgam9pblN0eWxlLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4odmFsKSk7IH0KICAgICBMaW5lSm9pbiBqb2luU3R5bGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaW5lSm9pbj4obV9yYXJlSW5oZXJpdGVkRGF0YS0+am9p
blN0eWxlKTsgfQotICAgIHN0YXRpYyBMaW5lSm9pbiBpbml0aWFsSm9pblN0eWxlKCkgeyByZXR1
cm4gTWl0ZXJKb2luOyB9CisgICAgc3RhdGljIExpbmVKb2luIGluaXRpYWxKb2luU3R5bGUoKSB7
IHJldHVybiBMaW5lSm9pbjo6TWl0ZXJKb2luOyB9CiAgICAgCiAgICAgY29uc3QgTGVuZ3RoJiBz
dHJva2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9rZVdp
ZHRoOyB9CiAgICAgdm9pZCBzZXRTdHJva2VXaWR0aChMZW5ndGgmJiB3KSB7IFNFVF9WQVIobV9y
YXJlSW5oZXJpdGVkRGF0YSwgc3Ryb2tlV2lkdGgsIFdURk1vdmUodykpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggOTVmMDkwYjA3MTNmODFlM2EzMTk2ZDNiMWIyZThhYzczYTc1NzQ4My4uMTVj
YTFiMGFjNTUzNmEzZTRmZGE1NWRiMTMwMWQ5M2IwYjFiN2FmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cApAQCAtMTI4LDggKzEyOCw4IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUlu
aGVyaXRlZERhdGEoKQogI2VuZGlmCiAgICAgLCBoYW5naW5nUHVuY3R1YXRpb24oUmVuZGVyU3R5
bGU6OmluaXRpYWxIYW5naW5nUHVuY3R1YXRpb24oKS50b1JhdygpKQogICAgICwgcGFpbnRPcmRl
cihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxQYWludE9yZGVyKCkp
KQotICAgICwgY2FwU3R5bGUoUmVuZGVyU3R5bGU6OmluaXRpYWxDYXBTdHlsZSgpKQotICAgICwg
am9pblN0eWxlKFJlbmRlclN0eWxlOjppbml0aWFsSm9pblN0eWxlKCkpCisgICAgLCBjYXBTdHls
ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxDYXBTdHlsZSgpKSkK
KyAgICAsIGpvaW5TdHlsZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRp
YWxKb2luU3R5bGUoKSkpCiAgICAgLCBoYXNTZXRTdHJva2VXaWR0aChmYWxzZSkKICAgICAsIGhh
c1NldFN0cm9rZUNvbG9yKGZhbHNlKQogICAgICwgbWF0aFN0eWxlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihSZW5kZXJTdHlsZTo6aW5pdGlhbE1hdGhTdHlsZSgpKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwCmluZGV4IGM0ZDllY2Y3NGRkYmZjOGQ4
MjU2OTBhMzBmNzMxNzg5NTA5ZTMxZDUuLmY2MTdmZmNjNjdkODkxMjRlZTJiNzA0ODljNThmNjdh
NjVmNTU0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQ
YXRoLmNwcApAQCAtMTEwLDExICsxMTAsMTEgQEAgYm9vbCBSZW5kZXJTVkdQYXRoOjpzaGFwZURl
cGVuZGVudFN0cm9rZUNvbnRhaW5zKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBQb2ludEMKICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1femVyb0xlbmd0aExpbmVjYXBMb2NhdGlvbnMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgQVNTRVJUKHN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2Uo
KSk7CiAgICAgICAgIGZsb2F0IHN0cm9rZVdpZHRoID0gdGhpcy0+c3Ryb2tlV2lkdGgoKTsKLSAg
ICAgICAgaWYgKHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBTcXVhcmVDYXApIHsKKyAgICAgICAgaWYg
KHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBMaW5lQ2FwOjpTcXVhcmVDYXApIHsKICAgICAgICAgICAg
IGlmICh6ZXJvTGVuZ3RoU3VicGF0aFJlY3QobV96ZXJvTGVuZ3RoTGluZWNhcExvY2F0aW9uc1tp
XSwgc3Ryb2tlV2lkdGgpLmNvbnRhaW5zKHBvaW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChzdHlsZSgpLmNhcFN0
eWxlKCkgPT0gUm91bmRDYXApOworICAgICAgICAgICAgQVNTRVJUKHN0eWxlKCkuY2FwU3R5bGUo
KSA9PSBMaW5lQ2FwOjpSb3VuZENhcCk7CiAgICAgICAgICAgICBGbG9hdFBvaW50IHJhZGl1c1Zl
Y3Rvcihwb2ludC54KCkgLSBtX3plcm9MZW5ndGhMaW5lY2FwTG9jYXRpb25zW2ldLngoKSwgcG9p
bnQueSgpIC0gIG1femVyb0xlbmd0aExpbmVjYXBMb2NhdGlvbnNbaV0ueSgpKTsKICAgICAgICAg
ICAgIGlmIChyYWRpdXNWZWN0b3IubGVuZ3RoU3F1YXJlZCgpIDwgc3Ryb2tlV2lkdGggKiBzdHJv
a2VXaWR0aCAqIC4yNWYpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMjcsNyAr
MTI3LDcgQEAgYm9vbCBSZW5kZXJTVkdQYXRoOjpzaG91bGRTdHJva2VaZXJvTGVuZ3RoU3VicGF0
aCgpIGNvbnN0CiB7CiAgICAgLy8gU3BlYygxMS40KTogQW55IHplcm8gbGVuZ3RoIHN1YnBhdGgg
c2hhbGwgbm90IGJlIHN0cm9rZWQgaWYgdGhlICJzdHJva2UtbGluZWNhcCIgcHJvcGVydHkgaGFz
IGEgdmFsdWUgb2YgYnV0dAogICAgIC8vIGJ1dCBzaGFsbCBiZSBzdHJva2VkIGlmIHRoZSAic3Ry
b2tlLWxpbmVjYXAiIHByb3BlcnR5IGhhcyBhIHZhbHVlIG9mIHJvdW5kIG9yIHNxdWFyZQotICAg
IHJldHVybiBzdHlsZSgpLnN2Z1N0eWxlKCkuaGFzU3Ryb2tlKCkgJiYgc3R5bGUoKS5jYXBTdHls
ZSgpICE9IEJ1dHRDYXA7CisgICAgcmV0dXJuIHN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2Uo
KSAmJiBzdHlsZSgpLmNhcFN0eWxlKCkgIT0gTGluZUNhcDo6QnV0dENhcDsKIH0KIAogUGF0aCog
UmVuZGVyU1ZHUGF0aDo6emVyb0xlbmd0aExpbmVjYXBQYXRoKGNvbnN0IEZsb2F0UG9pbnQmIGxp
bmVjYXBQb3NpdGlvbikgY29uc3QKQEAgLTEzNSw3ICsxMzUsNyBAQCBQYXRoKiBSZW5kZXJTVkdQ
YXRoOjp6ZXJvTGVuZ3RoTGluZWNhcFBhdGgoY29uc3QgRmxvYXRQb2ludCYgbGluZWNhcFBvc2l0
aW9uKSBjbwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxQYXRoPiB0ZW1wUGF0aDsKIAogICAg
IHRlbXBQYXRoLmdldCgpLmNsZWFyKCk7Ci0gICAgaWYgKHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBT
cXVhcmVDYXApCisgICAgaWYgKHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBMaW5lQ2FwOjpTcXVhcmVD
YXApCiAgICAgICAgIHRlbXBQYXRoLmdldCgpLmFkZFJlY3QoemVyb0xlbmd0aFN1YnBhdGhSZWN0
KGxpbmVjYXBQb3NpdGlvbiwgdGhpcy0+c3Ryb2tlV2lkdGgoKSkpOwogICAgIGVsc2UKICAgICAg
ICAgdGVtcFBhdGguZ2V0KCkuYWRkRWxsaXBzZSh6ZXJvTGVuZ3RoU3VicGF0aFJlY3QobGluZWNh
cFBvc2l0aW9uLCB0aGlzLT5zdHJva2VXaWR0aCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAppbmRleCA3ODZjOTUxNDVjZGI5NWFl
YzFlY2IwMTJlMWRmZWU2NTc3YzExMzgzLi44MWM5ZTQ2NmRiNTk5OTQ2YzNiZTE2NGEwOGM3YTdj
NDBkZDdkMTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlclN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5jcHAKQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6
OmFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25z
dAogICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKGxlbmd0aENvbnRleHQudmFsdWVGb3JM
ZW5ndGgoc3R5bGUuc3Ryb2tlV2lkdGgoKSkpOwogICAgIGNvbnRleHQuc2V0TGluZUNhcChzdHls
ZS5jYXBTdHlsZSgpKTsKICAgICBjb250ZXh0LnNldExpbmVKb2luKHN0eWxlLmpvaW5TdHlsZSgp
KTsKLSAgICBpZiAoc3R5bGUuam9pblN0eWxlKCkgPT0gTWl0ZXJKb2luKQorICAgIGlmIChzdHls
ZS5qb2luU3R5bGUoKSA9PSBMaW5lSm9pbjo6TWl0ZXJKb2luKQogICAgICAgICBjb250ZXh0LnNl
dE1pdGVyTGltaXQoc3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpKTsKIAogICAgIGNvbnN0IFZlY3Rv
cjxTVkdMZW5ndGhWYWx1ZT4mIGRhc2hlcyA9IHN2Z1N0eWxlLnN0cm9rZURhc2hBcnJheSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4
dC5jcHAKaW5kZXggMzFlZWNkODA2YmZkYmY1NjZhNWE1Y2JjMTk4ODEwOTljM2IyZjQyNC4uNzI1
M2ZkMzJkYTY4YzA0NGE5NmI0MDA0ZjViOTIwN2QyYTljOWY1YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0xOTcs
OCArMTk3LDggQEAgc3RhdGljIHZvaWQgd3JpdGVTdHlsZShUZXh0U3RyZWFtJiB0cywgY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0
cywgIm9wYWNpdHkiLCBzdmdTdHlsZS5zdHJva2VPcGFjaXR5KCksIDEuMGYpOwogICAgICAgICAg
ICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJzdHJva2Ugd2lkdGgiLCBzdHJva2VXaWR0aCwgMS4w
KTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibWl0ZXIgbGltaXQiLCBzdHls
ZS5zdHJva2VNaXRlckxpbWl0KCksIDQuMGYpOwotICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1
bHQodHMsICJsaW5lIGNhcCIsIHN0eWxlLmNhcFN0eWxlKCksIEJ1dHRDYXApOwotICAgICAgICAg
ICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJsaW5lIGpvaW4iLCBzdHlsZS5qb2luU3R5bGUoKSwg
TWl0ZXJKb2luKTsKKyAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBjYXAi
LCBzdHlsZS5jYXBTdHlsZSgpLCBMaW5lQ2FwOjpCdXR0Q2FwKTsKKyAgICAgICAgICAgIHdyaXRl
SWZOb3REZWZhdWx0KHRzLCAibGluZSBqb2luIiwgc3R5bGUuam9pblN0eWxlKCksIExpbmVKb2lu
OjpNaXRlckpvaW4pOwogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJkYXNoIG9m
ZnNldCIsIGRhc2hPZmZzZXQsIDAuMCk7CiAgICAgICAgICAgICBpZiAoIWRhc2hBcnJheS5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAiZGFzaCBhcnJh
eSIsIGRhc2hBcnJheSk7Cg==
</data>
<flag name="commit-queue"
          id="462525"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438990</attachid>
            <date>2021-09-22 16:30:05 -0700</date>
            <delta_ts>2021-09-22 18:48:50 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-230642-20210922163004.patch</filename>
            <type>text/plain</type>
            <size>24683</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkZTI1MGMyNDUyOGUw
YTYzMGUwOGQ0Y2MyYTlkN2U4OGNlZDIxMi4uMjIyODM0Y2FlNGZhNmU2ZDhmMDlmN2JjZDEzMDIw
YWIyZjhmODBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA5LTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFR1cm4gV2ViQ29y
ZTo6TGluZUNhcCBhbmQgV2ViQ29yZTo6TGluZUpvaW4gaW50byA4LWJpdCBlbnVtIGNsYXNzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDY0Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgTGlu
ZUpvaW4gYW5kIExpbmVDYXAgZW51bSBjbGFzc2VzLCBiYWNrZWQgYnkgdWludDhfdC4gVGhpcyBt
YWtlcyBpdCBlYXNpZXIgdG8gc2VuZCB0aGVzZSBlbnVtIHR5cGVzIGFzIElQQworICAgICAgICBh
cmd1bWVudHMgdG8gdGhlIEdQVSBwcm9jZXNzLiBVc2luZyBzdHJvbmdseSB0eXBlZCBpZGVudGlm
aWVycyBpcyBhbHNvIGJldHRlciBmb3IgdHlwZSBzYWZldHkuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUNh
cCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3Ig
TGluZUpvaW4gY29uc3QpOgorCisgICAgICAgIFByZWZpeCBpbmRpdmlkdWFsIGVudW0gdmFsdWVz
IHdpdGggYExpbmVDYXA6OmAgYW5kIGBMaW5lSm9pbjo6YCwgYXMgbmVlZGVkLgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0NhbnZhc0xpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6ZnJvbUNhbnZh
c0xpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6dG9DYW52YXNMaW5lSm9pbik6CisgICAgICAg
IChXZWJDb3JlOjpmcm9tQ2FudmFzTGluZUpvaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmluZmxhdGVTdHJva2VSZWN0IGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaGVtZUFkd2FpdGE6OnBhaW50Rm9jdXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWlybzo6c2V0TGluZUNhcCk6CisgICAgICAgIChXZWJDb3JlOjpDYWlybzo6c2V0
TGluZUpvaW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dENHOjpzZXRMaW5lQ2Fw
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dENHOjpzZXRMaW5lSm9pbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RpcmVjdDJET3BlcmF0aW9ucy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXJlY3QyRDo6c2V0TGluZUNhcCk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXJlY3QyRDo6c2V0TGluZUpvaW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkcmF3UmVwbGFjZW1lbnRBcnJvdyk6
CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnVwZGF0ZUdyYXBoaWNzQ29udGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0Q2FwU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxDYXBTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6c2V0Sm9pblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpp
bml0aWFsSm9pblN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRh
OjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1BhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUGF0aDo6c2hhcGVEZXBl
bmRlbnRTdHJva2VDb250YWlucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdQYXRoOjpz
aG91bGRTdHJva2VaZXJvTGVuZ3RoU3VicGF0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdQYXRoOjp6ZXJvTGVuZ3RoTGluZWNhcFBhdGggY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
ZW5kZXJTdXBwb3J0OjphcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d3Jp
dGVTdHlsZSk6CisKIDIwMjEtMDktMTkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xpdmUgVGV4dF0gQWRvcHQgV2Vha0hhc2hNYXAgZm9yIGNhY2hp
bmcgcGVyLWVsZW1lbnQgdGV4dCByZWNvZ25pdGlvbiByZXN1bHRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBhMzM1MmZmNDI5ZTU5ZjAx
ZWQxODRmMDExOWZjMDUxYzc4Yzc0MWRhLi42YWUyMjQ2M2M1YTI2NWVmNmNmZGYyNGMzYzU2M2Q3
ZTY4ZDY0ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgKQEAgLTM5MTcsMTMgKzM5MTcsMTMgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpbmVDYXAgZSkKIHsKICAgICBzZXRQcmlt
aXRpdmVVbml0VHlwZShDU1NVbml0VHlwZTo6Q1NTX1ZBTFVFX0lEKTsKICAgICBzd2l0Y2ggKGUp
IHsKLSAgICBjYXNlIEJ1dHRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpCdXR0Q2FwOgogICAgICAg
ICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJ1dHQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUm91bmRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpSb3VuZENhcDoKICAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVSb3VuZDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTcXVh
cmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmVDYXA6CiAgICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlU3F1YXJlOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0zOTM1LDE3
ICszOTM1LDE3IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBMaW5lQ2FwKCkgY29uc3QKIAogICAgIHN3aXRjaCAobV92YWx1ZS52YWx1ZUlEKSB7CiAgICAg
Y2FzZSBDU1NWYWx1ZUJ1dHQ6Ci0gICAgICAgIHJldHVybiBCdXR0Q2FwOworICAgICAgICByZXR1
cm4gTGluZUNhcDo6QnV0dENhcDsKICAgICBjYXNlIENTU1ZhbHVlUm91bmQ6Ci0gICAgICAgIHJl
dHVybiBSb3VuZENhcDsKKyAgICAgICAgcmV0dXJuIExpbmVDYXA6OlJvdW5kQ2FwOwogICAgIGNh
c2UgQ1NTVmFsdWVTcXVhcmU6Ci0gICAgICAgIHJldHVybiBTcXVhcmVDYXA7CisgICAgICAgIHJl
dHVybiBMaW5lQ2FwOjpTcXVhcmVDYXA7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEJ1dHRDYXA7Cisg
ICAgcmV0dXJuIExpbmVDYXA6OkJ1dHRDYXA7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShMaW5lSm9pbiBlKQpAQCAtMzk1MywxMyAr
Mzk1MywxMyBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUoTGluZUpvaW4gZSkKIHsKICAgICBzZXRQcmltaXRpdmVVbml0VHlwZShDU1NVbml0
VHlwZTo6Q1NTX1ZBTFVFX0lEKTsKICAgICBzd2l0Y2ggKGUpIHsKLSAgICBjYXNlIE1pdGVySm9p
bjoKKyAgICBjYXNlIExpbmVKb2luOjpNaXRlckpvaW46CiAgICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlTWl0ZXI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUm91bmRKb2luOgor
ICAgIGNhc2UgTGluZUpvaW46OlJvdW5kSm9pbjoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0g
Q1NTVmFsdWVSb3VuZDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCZXZlbEpvaW46CisgICAg
Y2FzZSBMaW5lSm9pbjo6QmV2ZWxKb2luOgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NW
YWx1ZUJldmVsOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0zOTcxLDE3ICszOTcxLDE3IEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBMaW5lSm9pbigp
IGNvbnN0CiAKICAgICBzd2l0Y2ggKG1fdmFsdWUudmFsdWVJRCkgewogICAgIGNhc2UgQ1NTVmFs
dWVNaXRlcjoKLSAgICAgICAgcmV0dXJuIE1pdGVySm9pbjsKKyAgICAgICAgcmV0dXJuIExpbmVK
b2luOjpNaXRlckpvaW47CiAgICAgY2FzZSBDU1NWYWx1ZVJvdW5kOgotICAgICAgICByZXR1cm4g
Um91bmRKb2luOworICAgICAgICByZXR1cm4gTGluZUpvaW46OlJvdW5kSm9pbjsKICAgICBjYXNl
IENTU1ZhbHVlQmV2ZWw6Ci0gICAgICAgIHJldHVybiBCZXZlbEpvaW47CisgICAgICAgIHJldHVy
biBMaW5lSm9pbjo6QmV2ZWxKb2luOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAg
IH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBNaXRlckpvaW47Cisg
ICAgcmV0dXJuIExpbmVKb2luOjpNaXRlckpvaW47CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXaW5kUnVsZSBlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlLmNwcAppbmRleCA4MjZiMzhjOWM3YmM4Y2I2NzhmNWY2NWVlZDc2MTRmYzViYWVhZmJh
Li40MDEzOTdjZDkwMmM2OTRiNWRiOTViNjY0YTlhZDA1YzFmMjM0YjBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlLmNwcApAQCAtOTEsMTEgKzkxLDExIEBAIHN0YXRpYyBjb25zdGV4cHIgQVNDSUlMaXRl
cmFsIERlZmF1bHRGb250ID0gIjEwcHggc2Fucy1zZXJpZiJfczsKIHN0YXRpYyBDYW52YXNMaW5l
Q2FwIHRvQ2FudmFzTGluZUNhcChMaW5lQ2FwIGxpbmVDYXApCiB7CiAgICAgc3dpdGNoIChsaW5l
Q2FwKSB7Ci0gICAgY2FzZSBCdXR0Q2FwOgorICAgIGNhc2UgTGluZUNhcDo6QnV0dENhcDoKICAg
ICAgICAgcmV0dXJuIENhbnZhc0xpbmVDYXA6OkJ1dHQ7Ci0gICAgY2FzZSBSb3VuZENhcDoKKyAg
ICBjYXNlIExpbmVDYXA6OlJvdW5kQ2FwOgogICAgICAgICByZXR1cm4gQ2FudmFzTGluZUNhcDo6
Um91bmQ7Ci0gICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmVDYXA6
CiAgICAgICAgIHJldHVybiBDYW52YXNMaW5lQ2FwOjpTcXVhcmU7CiAgICAgfQogICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTA2LDI0ICsxMDYsMjQgQEAgc3RhdGljIExpbmVDYXAgZnJv
bUNhbnZhc0xpbmVDYXAoQ2FudmFzTGluZUNhcCBjYW52YXNMaW5lQ2FwKQogewogICAgIHN3aXRj
aCAoY2FudmFzTGluZUNhcCkgewogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6QnV0dDoKLSAgICAg
ICAgcmV0dXJuIEJ1dHRDYXA7CisgICAgICAgIHJldHVybiBMaW5lQ2FwOjpCdXR0Q2FwOwogICAg
IGNhc2UgQ2FudmFzTGluZUNhcDo6Um91bmQ6Ci0gICAgICAgIHJldHVybiBSb3VuZENhcDsKKyAg
ICAgICAgcmV0dXJuIExpbmVDYXA6OlJvdW5kQ2FwOwogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6
U3F1YXJlOgotICAgICAgICByZXR1cm4gU3F1YXJlQ2FwOworICAgICAgICByZXR1cm4gTGluZUNh
cDo6U3F1YXJlQ2FwOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gQnV0dENhcDsKKyAgICByZXR1cm4gTGluZUNhcDo6QnV0dENhcDsKIH0KIAogc3RhdGljIENh
bnZhc0xpbmVKb2luIHRvQ2FudmFzTGluZUpvaW4oTGluZUpvaW4gbGluZUpvaW4pCiB7CiAgICAg
c3dpdGNoIChsaW5lSm9pbikgewotICAgIGNhc2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpv
aW46OlJvdW5kSm9pbjoKICAgICAgICAgcmV0dXJuIENhbnZhc0xpbmVKb2luOjpSb3VuZDsKLSAg
ICBjYXNlIEJldmVsSm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpCZXZlbEpvaW46CiAgICAgICAg
IHJldHVybiBDYW52YXNMaW5lSm9pbjo6QmV2ZWw7Ci0gICAgY2FzZSBNaXRlckpvaW46CisgICAg
Y2FzZSBMaW5lSm9pbjo6TWl0ZXJKb2luOgogICAgICAgICByZXR1cm4gQ2FudmFzTGluZUpvaW46
Ok1pdGVyOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTEzNCwxNCArMTM0
LDE0IEBAIHN0YXRpYyBMaW5lSm9pbiBmcm9tQ2FudmFzTGluZUpvaW4oQ2FudmFzTGluZUpvaW4g
Y2FudmFzTGluZUpvaW4pCiB7CiAgICAgc3dpdGNoIChjYW52YXNMaW5lSm9pbikgewogICAgIGNh
c2UgQ2FudmFzTGluZUpvaW46OlJvdW5kOgotICAgICAgICByZXR1cm4gUm91bmRKb2luOworICAg
ICAgICByZXR1cm4gTGluZUpvaW46OlJvdW5kSm9pbjsKICAgICBjYXNlIENhbnZhc0xpbmVKb2lu
OjpCZXZlbDoKLSAgICAgICAgcmV0dXJuIEJldmVsSm9pbjsKKyAgICAgICAgcmV0dXJuIExpbmVK
b2luOjpCZXZlbEpvaW47CiAgICAgY2FzZSBDYW52YXNMaW5lSm9pbjo6TWl0ZXI6Ci0gICAgICAg
IHJldHVybiBNaXRlckpvaW47CisgICAgICAgIHJldHVybiBMaW5lSm9pbjo6TWl0ZXJKb2luOwog
ICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gUm91bmRKb2luOwor
ICAgIHJldHVybiBMaW5lSm9pbjo6Um91bmRKb2luOwogfQogCiBzdGF0aWMgQ2FudmFzVGV4dEFs
aWduIHRvQ2FudmFzVGV4dEFsaWduKFRleHRBbGlnbiB0ZXh0QWxpZ24pCkBAIC0yNzMsOCArMjcz
LDggQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6U3RhdGU6OlN0YXRlKCkKICAgICA6
IHN0cm9rZVN0eWxlKENvbG9yOjpibGFjaykKICAgICAsIGZpbGxTdHlsZShDb2xvcjo6YmxhY2sp
CiAgICAgLCBsaW5lV2lkdGgoMSkKLSAgICAsIGxpbmVDYXAoQnV0dENhcCkKLSAgICAsIGxpbmVK
b2luKE1pdGVySm9pbikKKyAgICAsIGxpbmVDYXAoTGluZUNhcDo6QnV0dENhcCkKKyAgICAsIGxp
bmVKb2luKExpbmVKb2luOjpNaXRlckpvaW4pCiAgICAgLCBtaXRlckxpbWl0KDEwKQogICAgICwg
c2hhZG93Qmx1cigwKQogICAgICwgc2hhZG93Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50QmxhY2sp
CkBAIC0yMjY2LDkgKzIyNjYsOSBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6
OmluZmxhdGVTdHJva2VSZWN0KEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKICAgICAvLyBjb21wYXJl
ZCB0byBQYXRoOjpzdHJva2VCb3VuZGluZ1JlY3QoKS4KICAgICBzdGF0aWMgY29uc3QgZmxvYXQg
cm9vdDIgPSBzcXJ0ZigyKTsKICAgICBmbG9hdCBkZWx0YSA9IHN0YXRlKCkubGluZVdpZHRoIC8g
MjsKLSAgICBpZiAoc3RhdGUoKS5saW5lSm9pbiA9PSBNaXRlckpvaW4pCisgICAgaWYgKHN0YXRl
KCkubGluZUpvaW4gPT0gTGluZUpvaW46Ok1pdGVySm9pbikKICAgICAgICAgZGVsdGEgKj0gc3Rh
dGUoKS5taXRlckxpbWl0OwotICAgIGVsc2UgaWYgKHN0YXRlKCkubGluZUNhcCA9PSBTcXVhcmVD
YXApCisgICAgZWxzZSBpZiAoc3RhdGUoKS5saW5lQ2FwID09IExpbmVDYXA6OlNxdWFyZUNhcCkK
ICAgICAgICAgZGVsdGEgKj0gcm9vdDI7CiAgICAgcmVjdC5pbmZsYXRlKGRlbHRhKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNwcAppbmRl
eCBiMWQzODExY2JjOGMwMjgyNWI3MTZiOTFhZTRmYWY3NTRhY2NlNTE0Li40NmQ3Yzg4Y2E3MmMy
YzJlNmVkMDlkZjExMDI2MzJkMWE2NzhlM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hZHdhaXRhL1RoZW1lQWR3YWl0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuY3BwCkBAIC0xMjksOCArMTI5LDggQEAgdm9pZCBU
aGVtZUFkd2FpdGE6OnBhaW50Rm9jdXMoR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQs
IGNvbnN0IFBhdGgmIHBhdGgKICAgICBncmFwaGljc0NvbnRleHQuYmVnaW5UcmFuc3BhcmVuY3lM
YXllcihjb2xvci5hbHBoYUFzRmxvYXQoKSk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldFN0cm9r
ZVRoaWNrbmVzcyhmb2N1c0xpbmVXaWR0aCk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVE
YXNoKHsgZm9jdXNMaW5lV2lkdGgsIDIgKiBmb2N1c0xpbmVXaWR0aCB9LCAwKTsKLSAgICBncmFw
aGljc0NvbnRleHQuc2V0TGluZUNhcChTcXVhcmVDYXApOwotICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRMaW5lSm9pbihNaXRlckpvaW4pOworICAgIGdyYXBoaWNzQ29udGV4dC5zZXRMaW5lQ2FwKExp
bmVDYXA6OlNxdWFyZUNhcCk7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVKb2luKExpbmVK
b2luOjpNaXRlckpvaW4pOwogICAgIGdyYXBoaWNzQ29udGV4dC5zZXRTdHJva2VDb2xvcihjb2xv
ci5vcGFxdWVDb2xvcigpKTsKICAgICBncmFwaGljc0NvbnRleHQuc3Ryb2tlUGF0aChwYXRoKTsK
ICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6Ok5vblplcm8pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcApp
bmRleCA4ZThkYThmZTUxMGY5NjEzZjg5ZDBmOWM3YmZhODViMjE0OTM2ZGQ0Li5lOThmMDBmMTEw
ZDEyZGMyNGY3YjBmMDY5ZWZmMGNmMTNmOThhMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcApAQCAtMTUzLDEzICsxNTMsMTMg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgV2luZFJ1bGUgcnVsZSkK
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIExpbmVDYXAgY2FwU3R5bGUp
CiB7CiAgICAgc3dpdGNoIChjYXBTdHlsZSkgewotICAgIGNhc2UgQnV0dENhcDoKKyAgICBjYXNl
IExpbmVDYXA6OkJ1dHRDYXA6CiAgICAgICAgIHRzIDw8ICJCVVRUIjsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBSb3VuZENhcDoKKyAgICBjYXNlIExpbmVDYXA6OlJvdW5kQ2FwOgogICAgICAg
ICB0cyA8PCAiUk9VTkQiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFNxdWFyZUNhcDoKKyAg
ICBjYXNlIExpbmVDYXA6OlNxdWFyZUNhcDoKICAgICAgICAgdHMgPDwgIlNRVUFSRSI7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KQEAgLTE2OSwxMyArMTY5LDEzIEBAIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIExpbmVDYXAgY2FwU3R5bGUpCiBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMaW5lSm9pbiBqb2luU3R5bGUpCiB7CiAgICAgc3dpdGNo
IChqb2luU3R5bGUpIHsKLSAgICBjYXNlIE1pdGVySm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpN
aXRlckpvaW46CiAgICAgICAgIHRzIDw8ICJNSVRFUiI7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kSm9pbjoKICAgICAgICAgdHMg
PDwgIlJPVU5EIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCZXZlbEpvaW46CisgICAgY2Fz
ZSBMaW5lSm9pbjo6QmV2ZWxKb2luOgogICAgICAgICB0cyA8PCAiQkVWRUwiOwogICAgICAgICBi
cmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc1R5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc1R5cGVzLmgKaW5kZXggNDZlZjA0NmRlZWIwMmJhMTBkMzc2NWNkZDBmNWM2ZWI3OGVmNWVh
MS4uNmMxYmU4MWQ0YTJlMThmN2ExMmFhMjNlNWU5YzYyOGFiOGY0ODcwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaApAQCAtODcsMTMg
Kzg3LDEzIEBAIGVudW0gY2xhc3MgSW50ZXJwb2xhdGlvblF1YWxpdHkgOiB1aW50OF90IHsKICAg
ICBIaWdoCiB9OwogCi1lbnVtIExpbmVDYXAgeworZW51bSBjbGFzcyBMaW5lQ2FwIDogdWludDhf
dCB7CiAgICAgQnV0dENhcCwKICAgICBSb3VuZENhcCwKICAgICBTcXVhcmVDYXAKIH07CiAKLWVu
dW0gTGluZUpvaW4geworZW51bSBjbGFzcyBMaW5lSm9pbiA6IHVpbnQ4X3QgewogICAgIE1pdGVy
Sm9pbiwKICAgICBSb3VuZEpvaW4sCiAgICAgQmV2ZWxKb2luCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcApp
bmRleCAyMjRhNDUyOTEyZDRlMDUzYWM2MjQwYmUxYTFkYWIyZDM2NGM0MDM1Li5hM2Q3ODgzZDE0
NjZjZWY4MzE0MDEyY2VkOWJlMjk3YzZmODQ0MWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHAKQEAg
LTYyNiwxMyArNjI2LDEzIEBAIHZvaWQgc2V0TGluZUNhcChHcmFwaGljc0NvbnRleHRDYWlybyYg
cGxhdGZvcm1Db250ZXh0LCBMaW5lQ2FwIGxpbmVDYXApCiB7CiAgICAgY2Fpcm9fbGluZV9jYXBf
dCBjYWlyb0NhcCB7IH07CiAgICAgc3dpdGNoIChsaW5lQ2FwKSB7Ci0gICAgY2FzZSBCdXR0Q2Fw
OgorICAgIGNhc2UgTGluZUNhcDo6QnV0dENhcDoKICAgICAgICAgY2Fpcm9DYXAgPSBDQUlST19M
SU5FX0NBUF9CVVRUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kQ2FwOgorICAgIGNh
c2UgTGluZUNhcDo6Um91bmRDYXA6CiAgICAgICAgIGNhaXJvQ2FwID0gQ0FJUk9fTElORV9DQVBf
Uk9VTkQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3F1YXJlQ2FwOgorICAgIGNhc2UgTGlu
ZUNhcDo6U3F1YXJlQ2FwOgogICAgICAgICBjYWlyb0NhcCA9IENBSVJPX0xJTkVfQ0FQX1NRVUFS
RTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNjUxLDEzICs2NTEsMTMgQEAgdm9pZCBzZXRM
aW5lSm9pbihHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBMaW5lSm9pbiBs
aW5lSm9pbikKIHsKICAgICBjYWlyb19saW5lX2pvaW5fdCBjYWlyb0pvaW4geyB9OwogICAgIHN3
aXRjaCAobGluZUpvaW4pIHsKLSAgICBjYXNlIE1pdGVySm9pbjoKKyAgICBjYXNlIExpbmVKb2lu
OjpNaXRlckpvaW46CiAgICAgICAgIGNhaXJvSm9pbiA9IENBSVJPX0xJTkVfSk9JTl9NSVRFUjsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSb3VuZEpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6
Um91bmRKb2luOgogICAgICAgICBjYWlyb0pvaW4gPSBDQUlST19MSU5FX0pPSU5fUk9VTkQ7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpvaW46OkJl
dmVsSm9pbjoKICAgICAgICAgY2Fpcm9Kb2luID0gQ0FJUk9fTElORV9KT0lOX0JFVkVMOwogICAg
ICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggYTc2MmIwNTg4MTQ2YTUx
Yjg1M2RiNDY0ZWNjZTZkZWMxNzcxNGNjNi4uOTM3YTc5ODMyYzhlOGJkMWFjYTA4MjBjZGJjY2M5
OWI5N2M1MmYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMTE4NCwxMyArMTE4NCwxMyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dENHOjpzdHJva2VSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwg
ZmxvYXQgbGluZVdpZHRoKQogdm9pZCBHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUNhcChMaW5l
Q2FwIGNhcCkKIHsKICAgICBzd2l0Y2ggKGNhcCkgewotICAgIGNhc2UgQnV0dENhcDoKKyAgICBj
YXNlIExpbmVDYXA6OkJ1dHRDYXA6CiAgICAgICAgIENHQ29udGV4dFNldExpbmVDYXAocGxhdGZv
cm1Db250ZXh0KCksIGtDR0xpbmVDYXBCdXR0KTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBS
b3VuZENhcDoKKyAgICBjYXNlIExpbmVDYXA6OlJvdW5kQ2FwOgogICAgICAgICBDR0NvbnRleHRT
ZXRMaW5lQ2FwKHBsYXRmb3JtQ29udGV4dCgpLCBrQ0dMaW5lQ2FwUm91bmQpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFNxdWFyZUNhcDoKKyAgICBjYXNlIExpbmVDYXA6OlNxdWFyZUNhcDoK
ICAgICAgICAgQ0dDb250ZXh0U2V0TGluZUNhcChwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUNh
cFNxdWFyZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyMTEsMTMgKzEyMTEsMTMgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZURhc2goY29uc3QgRGFzaEFycmF5JiBkYXNo
ZXMsIGZsb2F0IGRhc2hPZmZzZXQpCiB2b2lkIEdyYXBoaWNzQ29udGV4dENHOjpzZXRMaW5lSm9p
bihMaW5lSm9pbiBqb2luKQogewogICAgIHN3aXRjaCAoam9pbikgewotICAgIGNhc2UgTWl0ZXJK
b2luOgorICAgIGNhc2UgTGluZUpvaW46Ok1pdGVySm9pbjoKICAgICAgICAgQ0dDb250ZXh0U2V0
TGluZUpvaW4ocGxhdGZvcm1Db250ZXh0KCksIGtDR0xpbmVKb2luTWl0ZXIpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpSb3VuZEpvaW46
CiAgICAgICAgIENHQ29udGV4dFNldExpbmVKb2luKHBsYXRmb3JtQ29udGV4dCgpLCBrQ0dMaW5l
Sm9pblJvdW5kKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCZXZlbEpvaW46CisgICAgY2Fz
ZSBMaW5lSm9pbjo6QmV2ZWxKb2luOgogICAgICAgICBDR0NvbnRleHRTZXRMaW5lSm9pbihwbGF0
Zm9ybUNvbnRleHQoKSwga0NHTGluZUpvaW5CZXZlbCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9EaXJlY3Qy
RE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Rp
cmVjdDJET3BlcmF0aW9ucy5jcHAKaW5kZXggNTI1YTE2MzQxZWJkNWZlNjQxOWQ4MmQ4MGEwNDMw
NGRiYTcyMmQ4MC4uYzBmMzg3YTNmOTg2OTkxMzUxMTA3ZmE0OTIyMWQ1NzMxM2Q2YjJiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RpcmVjdDJET3Bl
cmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Rp
cmVjdDJET3BlcmF0aW9ucy5jcHAKQEAgLTM2MSwxMyArMzYxLDEzIEBAIHZvaWQgc2V0TGluZUNh
cChQbGF0Zm9ybUNvbnRleHREaXJlY3QyRCYgcGxhdGZvcm1Db250ZXh0LCBMaW5lQ2FwIGxpbmVD
YXApCiB7CiAgICAgRDJEMV9DQVBfU1RZTEUgY2FwU3R5bGUgPSBEMkQxX0NBUF9TVFlMRV9GTEFU
OwogICAgIHN3aXRjaCAobGluZUNhcCkgewotICAgIGNhc2UgUm91bmRDYXA6CisgICAgY2FzZSBM
aW5lQ2FwOjpSb3VuZENhcDoKICAgICAgICAgY2FwU3R5bGUgPSBEMkQxX0NBUF9TVFlMRV9ST1VO
RDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2Fw
OjpTcXVhcmVDYXA6CiAgICAgICAgIGNhcFN0eWxlID0gRDJEMV9DQVBfU1RZTEVfU1FVQVJFOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEJ1dHRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpCdXR0
Q2FwOgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGNhcFN0eWxlID0gRDJEMV9DQVBfU1RZTEVfRkxB
VDsKICAgICAgICAgYnJlYWs7CkBAIC0zODYsMTMgKzM4NiwxMyBAQCB2b2lkIHNldExpbmVKb2lu
KFBsYXRmb3JtQ29udGV4dERpcmVjdDJEJiBwbGF0Zm9ybUNvbnRleHQsIExpbmVKb2luIGxpbmVK
b2luKQogewogICAgIEQyRDFfTElORV9KT0lOIGpvaW5TdHlsZSA9IEQyRDFfTElORV9KT0lOX01J
VEVSOwogICAgIHN3aXRjaCAobGluZUpvaW4pIHsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBj
YXNlIExpbmVKb2luOjpSb3VuZEpvaW46CiAgICAgICAgIGpvaW5TdHlsZSA9IEQyRDFfTElORV9K
T0lOX1JPVU5EOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEJldmVsSm9pbjoKKyAgICBjYXNl
IExpbmVKb2luOjpCZXZlbEpvaW46CiAgICAgICAgIGpvaW5TdHlsZSA9IEQyRDFfTElORV9KT0lO
X0JFVkVMOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE1pdGVySm9pbjoKKyAgICBjYXNlIExp
bmVKb2luOjpNaXRlckpvaW46CiAgICAgZGVmYXVsdDoKICAgICAgICAgam9pblN0eWxlID0gRDJE
MV9MSU5FX0pPSU5fTUlURVI7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKaW5kZXggZTFjZDAyNDlhZDcwYzZi
ZjRiNjBmODBmZjEyYWMyYzU1N2RmZWM1Yi4uYTYzZmJiZDMwYmE5Yzk2YjQ4MDc5ZDI0NjJiMDNm
ZTM2YjJiOGY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1i
ZWRkZWRPYmplY3QuY3BwCkBAIC0yMDYsOCArMjA2LDggQEAgc3RhdGljIHZvaWQgZHJhd1JlcGxh
Y2VtZW50QXJyb3coR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGlu
c2kKICAgICBGbG9hdFBvaW50IGFycm93VGlwKHJlY3QubWF4WCgpLCBjZW50ZXIueSgpKTsKIAog
ICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKDIpOwotICAgIGNvbnRleHQuc2V0TGluZUNh
cChSb3VuZENhcCk7Ci0gICAgY29udGV4dC5zZXRMaW5lSm9pbihSb3VuZEpvaW4pOworICAgIGNv
bnRleHQuc2V0TGluZUNhcChMaW5lQ2FwOjpSb3VuZENhcCk7CisgICAgY29udGV4dC5zZXRMaW5l
Sm9pbihMaW5lSm9pbjo6Um91bmRKb2luKTsKIAogICAgIFBhdGggcGF0aDsKICAgICBwYXRoLm1v
dmVUbyhGbG9hdFBvaW50KHJlY3QueCgpLCBjZW50ZXIueSgpKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNwcAppbmRleCA0OWVmZjM2N2MwYzM0MjNhMWE5ZWQy
OWI0MjE2ZGEyYTQwOWU3ZjNiLi5kNjAzY2RhMGJhMzU1N2NkOTBhY2FjYjA5OWM0MGI3Y2UzMDM3
MTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAKQEAg
LTE5NSw3ICsxOTUsNyBAQCB2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFRleHRQYWludFN0eWxlJiBwYWludAogICAgICAgICAgICAgY29u
dGV4dC5zZXRTdHJva2VUaGlja25lc3MocGFpbnRTdHlsZS5zdHJva2VXaWR0aCk7CiAgICAgICAg
IGNvbnRleHQuc2V0TGluZUpvaW4ocGFpbnRTdHlsZS5saW5lSm9pbik7CiAgICAgICAgIGNvbnRl
eHQuc2V0TGluZUNhcChwYWludFN0eWxlLmxpbmVDYXApOwotICAgICAgICBpZiAocGFpbnRTdHls
ZS5saW5lSm9pbiA9PSBNaXRlckpvaW4pCisgICAgICAgIGlmIChwYWludFN0eWxlLmxpbmVKb2lu
ID09IExpbmVKb2luOjpNaXRlckpvaW4pCiAgICAgICAgICAgICBjb250ZXh0LnNldE1pdGVyTGlt
aXQocGFpbnRTdHlsZS5taXRlckxpbWl0KTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0UGFpbnRTdHlsZS5oCmluZGV4IDUxNzkyZGVlMDJmMzJiMmMxNGQ1OGZiZGYzNjVl
ZjM1MzA0YTQ0MzYuLjllZWQxNDFlZDQyZmMxMTU0ZGVlYmU5NGUyMGJlYTBlMWUxNzdkNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oCkBAIC01Myw4ICs1Myw4
IEBAIHN0cnVjdCBUZXh0UGFpbnRTdHlsZSB7CiAgICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSB7
IGZhbHNlIH07CiAjZW5kaWYKICAgICBQYWludE9yZGVyIHBhaW50T3JkZXIgeyBQYWludE9yZGVy
OjpOb3JtYWwgfTsKLSAgICBMaW5lSm9pbiBsaW5lSm9pbiB7IE1pdGVySm9pbiB9OwotICAgIExp
bmVDYXAgbGluZUNhcCB7IEJ1dHRDYXAgfTsKKyAgICBMaW5lSm9pbiBsaW5lSm9pbiB7IExpbmVK
b2luOjpNaXRlckpvaW4gfTsKKyAgICBMaW5lQ2FwIGxpbmVDYXAgeyBMaW5lQ2FwOjpCdXR0Q2Fw
IH07CiAgICAgZmxvYXQgbWl0ZXJMaW1pdCB7IGRlZmF1bHRNaXRlckxpbWl0IH07CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDE3NTY0
OTgxMDgyMmIwMjVhZTlmZWU2MWYwZGI5MjM5MmVlZTVhY2EuLmE3MDE1NDlmOGZhYjllY2E2ZjU1
NTMwMzA3N2VlMGNiMGY5OTUzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCkBAIC0xMzU5LDEzICsxMzU5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFpbnRPcmRlciBpbml0aWFsUGFpbnRPcmRlcigpIHsgcmV0dXJuIFBhaW50T3JkZXI6Ok5v
cm1hbDsgfQogICAgIHN0YXRpYyBWZWN0b3I8UGFpbnRUeXBlLCAzPiBwYWludFR5cGVzRm9yUGFp
bnRPcmRlcihQYWludE9yZGVyKTsKICAgICAKLSAgICB2b2lkIHNldENhcFN0eWxlKExpbmVDYXAg
dmFsKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgY2FwU3R5bGUsIHZhbCk7IH0KKyAg
ICB2b2lkIHNldENhcFN0eWxlKExpbmVDYXAgdmFsKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVk
RGF0YSwgY2FwU3R5bGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWwpKTsgfQogICAgIExpbmVD
YXAgY2FwU3R5bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaW5lQ2FwPihtX3JhcmVJ
bmhlcml0ZWREYXRhLT5jYXBTdHlsZSk7IH0KLSAgICBzdGF0aWMgTGluZUNhcCBpbml0aWFsQ2Fw
U3R5bGUoKSB7IHJldHVybiBCdXR0Q2FwOyB9CisgICAgc3RhdGljIExpbmVDYXAgaW5pdGlhbENh
cFN0eWxlKCkgeyByZXR1cm4gTGluZUNhcDo6QnV0dENhcDsgfQogICAgIAotICAgIHZvaWQgc2V0
Sm9pblN0eWxlKExpbmVKb2luIHZhbCkgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGpv
aW5TdHlsZSwgdmFsKTsgfQorICAgIHZvaWQgc2V0Sm9pblN0eWxlKExpbmVKb2luIHZhbCkgeyBT
RVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGpvaW5TdHlsZSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHZhbCkpOyB9CiAgICAgTGluZUpvaW4gam9pblN0eWxlKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8TGluZUpvaW4+KG1fcmFyZUluaGVyaXRlZERhdGEtPmpvaW5TdHlsZSk7IH0KLSAg
ICBzdGF0aWMgTGluZUpvaW4gaW5pdGlhbEpvaW5TdHlsZSgpIHsgcmV0dXJuIE1pdGVySm9pbjsg
fQorICAgIHN0YXRpYyBMaW5lSm9pbiBpbml0aWFsSm9pblN0eWxlKCkgeyByZXR1cm4gTGluZUpv
aW46Ok1pdGVySm9pbjsgfQogICAgIAogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlV2lkdGgoKSBj
b25zdCB7IHJldHVybiBtX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aDsgfQogICAgIHZv
aWQgc2V0U3Ryb2tlV2lkdGgoTGVuZ3RoJiYgdykgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERh
dGEsIHN0cm9rZVdpZHRoLCBXVEZNb3ZlKHcpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IDk1
ZjA5MGIwNzEzZjgxZTNhMzE5NmQzYjFiMmU4YWM3M2E3NTc0ODMuLjE1Y2ExYjBhYzU1MzZhM2U0
ZmRhNTVkYjEzMDFkOTNiMGIxYjdhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTEyOCw4ICsx
MjgsOCBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkK
ICNlbmRpZgogICAgICwgaGFuZ2luZ1B1bmN0dWF0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsSGFu
Z2luZ1B1bmN0dWF0aW9uKCkudG9SYXcoKSkKICAgICAsIHBhaW50T3JkZXIoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsUGFpbnRPcmRlcigpKSkKLSAgICAsIGNhcFN0
eWxlKFJlbmRlclN0eWxlOjppbml0aWFsQ2FwU3R5bGUoKSkKLSAgICAsIGpvaW5TdHlsZShSZW5k
ZXJTdHlsZTo6aW5pdGlhbEpvaW5TdHlsZSgpKQorICAgICwgY2FwU3R5bGUoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsQ2FwU3R5bGUoKSkpCisgICAgLCBqb2luU3R5
bGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFJlbmRlclN0eWxlOjppbml0aWFsSm9pblN0eWxlKCkp
KQogICAgICwgaGFzU2V0U3Ryb2tlV2lkdGgoZmFsc2UpCiAgICAgLCBoYXNTZXRTdHJva2VDb2xv
cihmYWxzZSkKICAgICAsIG1hdGhTdHlsZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5
bGU6OmluaXRpYWxNYXRoU3R5bGUoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdQYXRoLmNwcAppbmRleCBjNGQ5ZWNmNzRkZGJmYzhkODI1NjkwYTMwZjczMTc4
OTUwOWUzMWQ1Li5mNjE3ZmZjYzY3ZDg5MTI0ZWUyYjcwNDg5YzU4ZjY3YTY1ZjU1NGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAKQEAgLTEx
MCwxMSArMTEwLDExIEBAIGJvb2wgUmVuZGVyU1ZHUGF0aDo6c2hhcGVEZXBlbmRlbnRTdHJva2VD
b250YWlucyhjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgUG9pbnRDCiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX3plcm9MZW5ndGhMaW5lY2FwTG9jYXRpb25zLnNpemUoKTsgKytpKSB7CiAg
ICAgICAgIEFTU0VSVChzdHlsZSgpLnN2Z1N0eWxlKCkuaGFzU3Ryb2tlKCkpOwogICAgICAgICBm
bG9hdCBzdHJva2VXaWR0aCA9IHRoaXMtPnN0cm9rZVdpZHRoKCk7Ci0gICAgICAgIGlmIChzdHls
ZSgpLmNhcFN0eWxlKCkgPT0gU3F1YXJlQ2FwKSB7CisgICAgICAgIGlmIChzdHlsZSgpLmNhcFN0
eWxlKCkgPT0gTGluZUNhcDo6U3F1YXJlQ2FwKSB7CiAgICAgICAgICAgICBpZiAoemVyb0xlbmd0
aFN1YnBhdGhSZWN0KG1femVyb0xlbmd0aExpbmVjYXBMb2NhdGlvbnNbaV0sIHN0cm9rZVdpZHRo
KS5jb250YWlucyhwb2ludCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoc3R5bGUoKS5jYXBTdHlsZSgpID09IFJvdW5k
Q2FwKTsKKyAgICAgICAgICAgIEFTU0VSVChzdHlsZSgpLmNhcFN0eWxlKCkgPT0gTGluZUNhcDo6
Um91bmRDYXApOwogICAgICAgICAgICAgRmxvYXRQb2ludCByYWRpdXNWZWN0b3IocG9pbnQueCgp
IC0gbV96ZXJvTGVuZ3RoTGluZWNhcExvY2F0aW9uc1tpXS54KCksIHBvaW50LnkoKSAtICBtX3pl
cm9MZW5ndGhMaW5lY2FwTG9jYXRpb25zW2ldLnkoKSk7CiAgICAgICAgICAgICBpZiAocmFkaXVz
VmVjdG9yLmxlbmd0aFNxdWFyZWQoKSA8IHN0cm9rZVdpZHRoICogc3Ryb2tlV2lkdGggKiAuMjVm
KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTI3LDcgKzEyNyw3IEBAIGJvb2wg
UmVuZGVyU1ZHUGF0aDo6c2hvdWxkU3Ryb2tlWmVyb0xlbmd0aFN1YnBhdGgoKSBjb25zdAogewog
ICAgIC8vIFNwZWMoMTEuNCk6IEFueSB6ZXJvIGxlbmd0aCBzdWJwYXRoIHNoYWxsIG5vdCBiZSBz
dHJva2VkIGlmIHRoZSAic3Ryb2tlLWxpbmVjYXAiIHByb3BlcnR5IGhhcyBhIHZhbHVlIG9mIGJ1
dHQKICAgICAvLyBidXQgc2hhbGwgYmUgc3Ryb2tlZCBpZiB0aGUgInN0cm9rZS1saW5lY2FwIiBw
cm9wZXJ0eSBoYXMgYSB2YWx1ZSBvZiByb3VuZCBvciBzcXVhcmUKLSAgICByZXR1cm4gc3R5bGUo
KS5zdmdTdHlsZSgpLmhhc1N0cm9rZSgpICYmIHN0eWxlKCkuY2FwU3R5bGUoKSAhPSBCdXR0Q2Fw
OworICAgIHJldHVybiBzdHlsZSgpLnN2Z1N0eWxlKCkuaGFzU3Ryb2tlKCkgJiYgc3R5bGUoKS5j
YXBTdHlsZSgpICE9IExpbmVDYXA6OkJ1dHRDYXA7CiB9CiAKIFBhdGgqIFJlbmRlclNWR1BhdGg6
Onplcm9MZW5ndGhMaW5lY2FwUGF0aChjb25zdCBGbG9hdFBvaW50JiBsaW5lY2FwUG9zaXRpb24p
IGNvbnN0CkBAIC0xMzUsNyArMTM1LDcgQEAgUGF0aCogUmVuZGVyU1ZHUGF0aDo6emVyb0xlbmd0
aExpbmVjYXBQYXRoKGNvbnN0IEZsb2F0UG9pbnQmIGxpbmVjYXBQb3NpdGlvbikgY28KICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UGF0aD4gdGVtcFBhdGg7CiAKICAgICB0ZW1wUGF0aC5nZXQo
KS5jbGVhcigpOwotICAgIGlmIChzdHlsZSgpLmNhcFN0eWxlKCkgPT0gU3F1YXJlQ2FwKQorICAg
IGlmIChzdHlsZSgpLmNhcFN0eWxlKCkgPT0gTGluZUNhcDo6U3F1YXJlQ2FwKQogICAgICAgICB0
ZW1wUGF0aC5nZXQoKS5hZGRSZWN0KHplcm9MZW5ndGhTdWJwYXRoUmVjdChsaW5lY2FwUG9zaXRp
b24sIHRoaXMtPnN0cm9rZVdpZHRoKCkpKTsKICAgICBlbHNlCiAgICAgICAgIHRlbXBQYXRoLmdl
dCgpLmFkZEVsbGlwc2UoemVyb0xlbmd0aFN1YnBhdGhSZWN0KGxpbmVjYXBQb3NpdGlvbiwgdGhp
cy0+c3Ryb2tlV2lkdGgoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyU3VwcG9ydC5jcHAKaW5kZXggNzg2Yzk1MTQ1Y2RiOTVhZWMxZWNiMDEyZTFkZmVl
NjU3N2MxMTM4My4uODFjOWU0NjZkYjU5OTk0NmMzYmUxNjRhMDhjN2E3YzQwZGQ3ZDEwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3Bw
CkBAIC00NjEsNyArNDYxLDcgQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0OjphcHBseVN0cm9rZVN0
eWxlVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QKICAgICBjb250ZXh0
LnNldFN0cm9rZVRoaWNrbmVzcyhsZW5ndGhDb250ZXh0LnZhbHVlRm9yTGVuZ3RoKHN0eWxlLnN0
cm9rZVdpZHRoKCkpKTsKICAgICBjb250ZXh0LnNldExpbmVDYXAoc3R5bGUuY2FwU3R5bGUoKSk7
CiAgICAgY29udGV4dC5zZXRMaW5lSm9pbihzdHlsZS5qb2luU3R5bGUoKSk7Ci0gICAgaWYgKHN0
eWxlLmpvaW5TdHlsZSgpID09IE1pdGVySm9pbikKKyAgICBpZiAoc3R5bGUuam9pblN0eWxlKCkg
PT0gTGluZUpvaW46Ok1pdGVySm9pbikKICAgICAgICAgY29udGV4dC5zZXRNaXRlckxpbWl0KHN0
eWxlLnN0cm9rZU1pdGVyTGltaXQoKSk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHTGVuZ3RoVmFs
dWU+JiBkYXNoZXMgPSBzdmdTdHlsZS5zdHJva2VEYXNoQXJyYXkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDMx
ZWVjZDgwNmJmZGJmNTY2YTVhNWNiYzE5ODgxMDk5YzNiMmY0MjQuLjcyNTNmZDMyZGE2OGMwNDRh
OTZiNDAwNGY1YjkyMDdkMmE5YzlmNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtMTk3LDggKzE5Nyw4IEBAIHN0
YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyKQogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJvcGFjaXR5Iiwg
c3ZnU3R5bGUuc3Ryb2tlT3BhY2l0eSgpLCAxLjBmKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3RE
ZWZhdWx0KHRzLCAic3Ryb2tlIHdpZHRoIiwgc3Ryb2tlV2lkdGgsIDEuMCk7CiAgICAgICAgICAg
ICB3cml0ZUlmTm90RGVmYXVsdCh0cywgIm1pdGVyIGxpbWl0Iiwgc3R5bGUuc3Ryb2tlTWl0ZXJM
aW1pdCgpLCA0LjBmKTsKLSAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBj
YXAiLCBzdHlsZS5jYXBTdHlsZSgpLCBCdXR0Q2FwKTsKLSAgICAgICAgICAgIHdyaXRlSWZOb3RE
ZWZhdWx0KHRzLCAibGluZSBqb2luIiwgc3R5bGUuam9pblN0eWxlKCksIE1pdGVySm9pbik7Cisg
ICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgImxpbmUgY2FwIiwgc3R5bGUuY2FwU3R5
bGUoKSwgTGluZUNhcDo6QnV0dENhcCk7CisgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0
cywgImxpbmUgam9pbiIsIHN0eWxlLmpvaW5TdHlsZSgpLCBMaW5lSm9pbjo6TWl0ZXJKb2luKTsK
ICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAiZGFzaCBvZmZzZXQiLCBkYXNoT2Zm
c2V0LCAwLjApOwogICAgICAgICAgICAgaWYgKCFkYXNoQXJyYXkuaXNFbXB0eSgpKQogICAgICAg
ICAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImRhc2ggYXJyYXkiLCBkYXNoQXJyYXkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439003</attachid>
            <date>2021-09-22 18:48:53 -0700</date>
            <delta_ts>2021-09-22 21:31:00 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-230642-20210922184853.patch</filename>
            <type>text/plain</type>
            <size>25397</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNkZTI1MGMyNDUyOGUw
YTYzMGUwOGQ0Y2MyYTlkN2U4OGNlZDIxMi4uZDY5YTE3YzY1Yjc2YWMxNTI0OGI5ZTIwOGU3YzFl
NWZjOWViMWQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA5LTIyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFR1cm4gV2ViQ29y
ZTo6TGluZUNhcCBhbmQgV2ViQ29yZTo6TGluZUpvaW4gaW50byA4LWJpdCBlbnVtIGNsYXNzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDY0Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBNYWtlIExpbmVK
b2luIGFuZCBMaW5lQ2FwIGVudW0gY2xhc3NlcywgYmFja2VkIGJ5IHVpbnQ4X3QuIFRoaXMgbWFr
ZXMgaXQgZWFzaWVyIHRvIHNlbmQgdGhlc2UgZW51bSB0eXBlcyBhcyBJUEMKKyAgICAgICAgYXJn
dW1lbnRzIHRvIHRoZSBHUFUgcHJvY2Vzcy4gVXNpbmcgc3Ryb25nbHkgdHlwZWQgaWRlbnRpZmll
cnMgaXMgYWxzbyBiZXR0ZXIgZm9yIHR5cGUgc2FmZXR5LgorCisgICAgICAgIE5vIGNoYW5nZSBp
biBiZWhhdmlvci4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIExpbmVDYXAg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIExp
bmVKb2luIGNvbnN0KToKKworICAgICAgICBQcmVmaXggaW5kaXZpZHVhbCBlbnVtIHZhbHVlcyB3
aXRoIGBMaW5lQ2FwOjpgIGFuZCBgTGluZUpvaW46OmAsIGFzIG5lZWRlZC4KKworICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9DYW52YXNMaW5lQ2FwKToKKyAgICAgICAgKFdlYkNvcmU6OmZyb21DYW52YXNM
aW5lQ2FwKToKKyAgICAgICAgKFdlYkNvcmU6OnRvQ2FudmFzTGluZUpvaW4pOgorICAgICAgICAo
V2ViQ29yZTo6ZnJvbUNhbnZhc0xpbmVKb2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREJhc2U6OlN0YXRlOjpTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjppbmZsYXRlU3Ryb2tlUmVjdCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYWR3YWl0YS9UaGVtZUFkd2FpdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGhlbWVBZHdhaXRhOjpwYWludEZvY3VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc1R5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaDoKKworICAgICAgICBB
ZGRpdGlvbmFsbHkgcmVuYW1lIHRoZXNlIGVudW0gdmFsdWVzIHRvIGp1c3QgKEJ1dHQsIFJvdW5k
LCBTcXVhcmUpIGFuZCAoTWl0ZXIsIFJvdW5kLCBCZXZlbCkgZm9yIExpbmVDYXAgYW5kCisgICAg
ICAgIExpbmVKb2luLCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fpcm86OnNl
dExpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6Q2Fpcm86OnNldExpbmVKb2luKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUNhcCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUpvaW4pOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9EaXJlY3QyRE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGlyZWN0MkQ6OnNldExpbmVDYXApOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0MkQ6OnNldExp
bmVKb2luKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZHJhd1JlcGxhY2VtZW50QXJyb3cpOgorICAgICAgICAqIHJlbmRl
cmluZy9UZXh0UGFpbnRTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVHcmFwaGlj
c0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnNldENhcFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpp
bml0aWFsQ2FwU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEpvaW5T
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbEpvaW5TdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1BhdGg6OnNoYXBlRGVwZW5kZW50U3Ryb2tlQ29udGFp
bnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUGF0aDo6c2hvdWxkU3Ryb2tlWmVyb0xl
bmd0aFN1YnBhdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUGF0aDo6emVy
b0xlbmd0aExpbmVjYXBQYXRoIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlclN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6YXBw
bHlTdHJva2VTdHlsZVRvQ29udGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5k
ZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU3R5bGUpOgorCiAyMDIx
LTA5LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFtMaXZlIFRleHRdIEFkb3B0IFdlYWtIYXNoTWFwIGZvciBjYWNoaW5nIHBlci1lbGVtZW50IHRl
eHQgcmVjb2duaXRpb24gcmVzdWx0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYTMzNTJmZjQyOWU1OWYwMWVkMTg0ZjAxMTlmYzA1MWM3
OGM3NDFkYS4uYjNhYjM0ZGQxOTIyMDRkYjUzMzZlZGIzNDUzZWVlZTg3NmI2MjJkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0zOTE3
LDEzICszOTE3LDEzIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQ
cmltaXRpdmVWYWx1ZShMaW5lQ2FwIGUpCiB7CiAgICAgc2V0UHJpbWl0aXZlVW5pdFR5cGUoQ1NT
VW5pdFR5cGU6OkNTU19WQUxVRV9JRCk7CiAgICAgc3dpdGNoIChlKSB7Ci0gICAgY2FzZSBCdXR0
Q2FwOgorICAgIGNhc2UgTGluZUNhcDo6QnV0dDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0g
Q1NTVmFsdWVCdXR0OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kQ2FwOgorICAgIGNh
c2UgTGluZUNhcDo6Um91bmQ6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlUm91
bmQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3F1YXJlQ2FwOgorICAgIGNhc2UgTGluZUNh
cDo6U3F1YXJlOgogICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVNxdWFyZTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzkzNSwxNyArMzkzNSwxNyBAQCB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUNhcCgpIGNvbnN0CiAKICAgICBz
d2l0Y2ggKG1fdmFsdWUudmFsdWVJRCkgewogICAgIGNhc2UgQ1NTVmFsdWVCdXR0OgotICAgICAg
ICByZXR1cm4gQnV0dENhcDsKKyAgICAgICAgcmV0dXJuIExpbmVDYXA6OkJ1dHQ7CiAgICAgY2Fz
ZSBDU1NWYWx1ZVJvdW5kOgotICAgICAgICByZXR1cm4gUm91bmRDYXA7CisgICAgICAgIHJldHVy
biBMaW5lQ2FwOjpSb3VuZDsKICAgICBjYXNlIENTU1ZhbHVlU3F1YXJlOgotICAgICAgICByZXR1
cm4gU3F1YXJlQ2FwOworICAgICAgICByZXR1cm4gTGluZUNhcDo6U3F1YXJlOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgIHJldHVybiBCdXR0Q2FwOworICAgIHJldHVybiBMaW5lQ2FwOjpCdXR0OwogfQogCiB0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoTGluZUpv
aW4gZSkKQEAgLTM5NTMsMTMgKzM5NTMsMTMgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpbmVKb2luIGUpCiB7CiAgICAgc2V0UHJpbWl0
aXZlVW5pdFR5cGUoQ1NTVW5pdFR5cGU6OkNTU19WQUxVRV9JRCk7CiAgICAgc3dpdGNoIChlKSB7
Ci0gICAgY2FzZSBNaXRlckpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6TWl0ZXI6CiAgICAgICAg
IG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTWl0ZXI7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kOgogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZVJvdW5kOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEJldmVs
Sm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpCZXZlbDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVCZXZlbDsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzk3MSwxNyArMzk3
MSwxNyBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGlu
ZUpvaW4oKSBjb25zdAogCiAgICAgc3dpdGNoIChtX3ZhbHVlLnZhbHVlSUQpIHsKICAgICBjYXNl
IENTU1ZhbHVlTWl0ZXI6Ci0gICAgICAgIHJldHVybiBNaXRlckpvaW47CisgICAgICAgIHJldHVy
biBMaW5lSm9pbjo6TWl0ZXI7CiAgICAgY2FzZSBDU1NWYWx1ZVJvdW5kOgotICAgICAgICByZXR1
cm4gUm91bmRKb2luOworICAgICAgICByZXR1cm4gTGluZUpvaW46OlJvdW5kOwogICAgIGNhc2Ug
Q1NTVmFsdWVCZXZlbDoKLSAgICAgICAgcmV0dXJuIEJldmVsSm9pbjsKKyAgICAgICAgcmV0dXJu
IExpbmVKb2luOjpCZXZlbDsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CiAK
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gTWl0ZXJKb2luOworICAgIHJl
dHVybiBMaW5lSm9pbjo6TWl0ZXI7CiB9CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXaW5kUnVsZSBlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNw
cAppbmRleCA4MjZiMzhjOWM3YmM4Y2I2NzhmNWY2NWVlZDc2MTRmYzViYWVhZmJhLi40NjU0ZTFk
OWQ4N2M1OWQxZWEzNGQzYmQ3NjA3NmFlZTM1NzgxYzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNw
cApAQCAtOTEsMTEgKzkxLDExIEBAIHN0YXRpYyBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIERlZmF1
bHRGb250ID0gIjEwcHggc2Fucy1zZXJpZiJfczsKIHN0YXRpYyBDYW52YXNMaW5lQ2FwIHRvQ2Fu
dmFzTGluZUNhcChMaW5lQ2FwIGxpbmVDYXApCiB7CiAgICAgc3dpdGNoIChsaW5lQ2FwKSB7Ci0g
ICAgY2FzZSBCdXR0Q2FwOgorICAgIGNhc2UgTGluZUNhcDo6QnV0dDoKICAgICAgICAgcmV0dXJu
IENhbnZhc0xpbmVDYXA6OkJ1dHQ7Ci0gICAgY2FzZSBSb3VuZENhcDoKKyAgICBjYXNlIExpbmVD
YXA6OlJvdW5kOgogICAgICAgICByZXR1cm4gQ2FudmFzTGluZUNhcDo6Um91bmQ7Ci0gICAgY2Fz
ZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmU6CiAgICAgICAgIHJldHVybiBD
YW52YXNMaW5lQ2FwOjpTcXVhcmU7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpA
QCAtMTA2LDI0ICsxMDYsMjQgQEAgc3RhdGljIExpbmVDYXAgZnJvbUNhbnZhc0xpbmVDYXAoQ2Fu
dmFzTGluZUNhcCBjYW52YXNMaW5lQ2FwKQogewogICAgIHN3aXRjaCAoY2FudmFzTGluZUNhcCkg
ewogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6QnV0dDoKLSAgICAgICAgcmV0dXJuIEJ1dHRDYXA7
CisgICAgICAgIHJldHVybiBMaW5lQ2FwOjpCdXR0OwogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6
Um91bmQ6Ci0gICAgICAgIHJldHVybiBSb3VuZENhcDsKKyAgICAgICAgcmV0dXJuIExpbmVDYXA6
OlJvdW5kOwogICAgIGNhc2UgQ2FudmFzTGluZUNhcDo6U3F1YXJlOgotICAgICAgICByZXR1cm4g
U3F1YXJlQ2FwOworICAgICAgICByZXR1cm4gTGluZUNhcDo6U3F1YXJlOwogICAgIH0KICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQnV0dENhcDsKKyAgICByZXR1cm4gTGlu
ZUNhcDo6QnV0dDsKIH0KIAogc3RhdGljIENhbnZhc0xpbmVKb2luIHRvQ2FudmFzTGluZUpvaW4o
TGluZUpvaW4gbGluZUpvaW4pCiB7CiAgICAgc3dpdGNoIChsaW5lSm9pbikgewotICAgIGNhc2Ug
Um91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kOgogICAgICAgICByZXR1cm4gQ2Fu
dmFzTGluZUpvaW46OlJvdW5kOwotICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpv
aW46OkJldmVsOgogICAgICAgICByZXR1cm4gQ2FudmFzTGluZUpvaW46OkJldmVsOwotICAgIGNh
c2UgTWl0ZXJKb2luOgorICAgIGNhc2UgTGluZUpvaW46Ok1pdGVyOgogICAgICAgICByZXR1cm4g
Q2FudmFzTGluZUpvaW46Ok1pdGVyOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTEzNCwxNCArMTM0LDE0IEBAIHN0YXRpYyBMaW5lSm9pbiBmcm9tQ2FudmFzTGluZUpvaW4o
Q2FudmFzTGluZUpvaW4gY2FudmFzTGluZUpvaW4pCiB7CiAgICAgc3dpdGNoIChjYW52YXNMaW5l
Sm9pbikgewogICAgIGNhc2UgQ2FudmFzTGluZUpvaW46OlJvdW5kOgotICAgICAgICByZXR1cm4g
Um91bmRKb2luOworICAgICAgICByZXR1cm4gTGluZUpvaW46OlJvdW5kOwogICAgIGNhc2UgQ2Fu
dmFzTGluZUpvaW46OkJldmVsOgotICAgICAgICByZXR1cm4gQmV2ZWxKb2luOworICAgICAgICBy
ZXR1cm4gTGluZUpvaW46OkJldmVsOwogICAgIGNhc2UgQ2FudmFzTGluZUpvaW46Ok1pdGVyOgot
ICAgICAgICByZXR1cm4gTWl0ZXJKb2luOworICAgICAgICByZXR1cm4gTGluZUpvaW46Ok1pdGVy
OwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gUm91bmRKb2lu
OworICAgIHJldHVybiBMaW5lSm9pbjo6Um91bmQ7CiB9CiAKIHN0YXRpYyBDYW52YXNUZXh0QWxp
Z24gdG9DYW52YXNUZXh0QWxpZ24oVGV4dEFsaWduIHRleHRBbGlnbikKQEAgLTI3Myw4ICsyNzMs
OCBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpTdGF0ZTo6U3RhdGUoKQogICAgIDog
c3Ryb2tlU3R5bGUoQ29sb3I6OmJsYWNrKQogICAgICwgZmlsbFN0eWxlKENvbG9yOjpibGFjaykK
ICAgICAsIGxpbmVXaWR0aCgxKQotICAgICwgbGluZUNhcChCdXR0Q2FwKQotICAgICwgbGluZUpv
aW4oTWl0ZXJKb2luKQorICAgICwgbGluZUNhcChMaW5lQ2FwOjpCdXR0KQorICAgICwgbGluZUpv
aW4oTGluZUpvaW46Ok1pdGVyKQogICAgICwgbWl0ZXJMaW1pdCgxMCkKICAgICAsIHNoYWRvd0Js
dXIoMCkKICAgICAsIHNoYWRvd0NvbG9yKENvbG9yOjp0cmFuc3BhcmVudEJsYWNrKQpAQCAtMjI2
Niw5ICsyMjY2LDkgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjppbmZsYXRl
U3Ryb2tlUmVjdChGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiAgICAgLy8gY29tcGFyZWQgdG8gUGF0
aDo6c3Ryb2tlQm91bmRpbmdSZWN0KCkuCiAgICAgc3RhdGljIGNvbnN0IGZsb2F0IHJvb3QyID0g
c3FydGYoMik7CiAgICAgZmxvYXQgZGVsdGEgPSBzdGF0ZSgpLmxpbmVXaWR0aCAvIDI7Ci0gICAg
aWYgKHN0YXRlKCkubGluZUpvaW4gPT0gTWl0ZXJKb2luKQorICAgIGlmIChzdGF0ZSgpLmxpbmVK
b2luID09IExpbmVKb2luOjpNaXRlcikKICAgICAgICAgZGVsdGEgKj0gc3RhdGUoKS5taXRlckxp
bWl0OwotICAgIGVsc2UgaWYgKHN0YXRlKCkubGluZUNhcCA9PSBTcXVhcmVDYXApCisgICAgZWxz
ZSBpZiAoc3RhdGUoKS5saW5lQ2FwID09IExpbmVDYXA6OlNxdWFyZSkKICAgICAgICAgZGVsdGEg
Kj0gcm9vdDI7CiAgICAgcmVjdC5pbmZsYXRlKGRlbHRhKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Fkd2FpdGEvVGhlbWVBZHdhaXRhLmNwcAppbmRleCBiMWQzODExY2JjOGMw
MjgyNWI3MTZiOTFhZTRmYWY3NTRhY2NlNTE0Li42YWI2MTFjNWQ4ZTBmMjg4NDZjN2ZkZGYzYmQ0
MmI1OTEyOTdhZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hZHdhaXRh
L1RoZW1lQWR3YWl0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYWR3YWl0YS9U
aGVtZUFkd2FpdGEuY3BwCkBAIC0xMjksOCArMTI5LDggQEAgdm9pZCBUaGVtZUFkd2FpdGE6OnBh
aW50Rm9jdXMoR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IFBhdGgmIHBh
dGgKICAgICBncmFwaGljc0NvbnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXllcihjb2xvci5hbHBo
YUFzRmxvYXQoKSk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcyhmb2N1
c0xpbmVXaWR0aCk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVEYXNoKHsgZm9jdXNMaW5l
V2lkdGgsIDIgKiBmb2N1c0xpbmVXaWR0aCB9LCAwKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0
TGluZUNhcChTcXVhcmVDYXApOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRMaW5lSm9pbihNaXRl
ckpvaW4pOworICAgIGdyYXBoaWNzQ29udGV4dC5zZXRMaW5lQ2FwKExpbmVDYXA6OlNxdWFyZSk7
CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVKb2luKExpbmVKb2luOjpNaXRlcik7CiAgICAg
Z3JhcGhpY3NDb250ZXh0LnNldFN0cm9rZUNvbG9yKGNvbG9yLm9wYXF1ZUNvbG9yKCkpOwogICAg
IGdyYXBoaWNzQ29udGV4dC5zdHJva2VQYXRoKHBhdGgpOwogICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwCmluZGV4IDhlOGRhOGZlNTEwZjk2MTNm
ODlkMGY5YzdiZmE4NWIyMTQ5MzZkZDQuLjE1ZGYxZGZkYjZmM2ExNmFkNWVhZjY0NzI2MWZjZmM0
YjdhOTNhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzVHlwZXMuY3BwCkBAIC0xNTMsMTMgKzE1MywxMyBAQCBUZXh0U3RyZWFtJiBvcGVyYXRv
cjw8KFRleHRTdHJlYW0mIHRzLCBXaW5kUnVsZSBydWxlKQogVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgTGluZUNhcCBjYXBTdHlsZSkKIHsKICAgICBzd2l0Y2ggKGNhcFN0
eWxlKSB7Ci0gICAgY2FzZSBCdXR0Q2FwOgorICAgIGNhc2UgTGluZUNhcDo6QnV0dDoKICAgICAg
ICAgdHMgPDwgIkJVVFQiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kQ2FwOgorICAg
IGNhc2UgTGluZUNhcDo6Um91bmQ6CiAgICAgICAgIHRzIDw8ICJST1VORCI7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgU3F1YXJlQ2FwOgorICAgIGNhc2UgTGluZUNhcDo6U3F1YXJlOgogICAg
ICAgICB0cyA8PCAiU1FVQVJFIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTY5LDEzICsx
NjksMTMgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgTGluZUNhcCBj
YXBTdHlsZSkKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIExpbmVKb2lu
IGpvaW5TdHlsZSkKIHsKICAgICBzd2l0Y2ggKGpvaW5TdHlsZSkgewotICAgIGNhc2UgTWl0ZXJK
b2luOgorICAgIGNhc2UgTGluZUpvaW46Ok1pdGVyOgogICAgICAgICB0cyA8PCAiTUlURVIiOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpS
b3VuZDoKICAgICAgICAgdHMgPDwgIlJPVU5EIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBC
ZXZlbEpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6QmV2ZWw6CiAgICAgICAgIHRzIDw8ICJCRVZF
TCI7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaAppbmRleCA0NmVmMDQ2ZGVlYjAyYmExMGQzNzY1Y2Rk
MGY1YzZlYjc4ZWY1ZWExLi40ZDIwNGU5N2U1YzU0NGQ3NzZiZmE3ZjMwYWFjYzFiN2M0NjNlMGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5
cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBl
cy5oCkBAIC04NywxNiArODcsMTYgQEAgZW51bSBjbGFzcyBJbnRlcnBvbGF0aW9uUXVhbGl0eSA6
IHVpbnQ4X3QgewogICAgIEhpZ2gKIH07CiAKLWVudW0gTGluZUNhcCB7Ci0gICAgQnV0dENhcCwK
LSAgICBSb3VuZENhcCwKLSAgICBTcXVhcmVDYXAKK2VudW0gY2xhc3MgTGluZUNhcCA6IHVpbnQ4
X3QgeworICAgIEJ1dHQsCisgICAgUm91bmQsCisgICAgU3F1YXJlCiB9OwogCi1lbnVtIExpbmVK
b2luIHsKLSAgICBNaXRlckpvaW4sCi0gICAgUm91bmRKb2luLAotICAgIEJldmVsSm9pbgorZW51
bSBjbGFzcyBMaW5lSm9pbiA6IHVpbnQ4X3QgeworICAgIE1pdGVyLAorICAgIFJvdW5kLAorICAg
IEJldmVsCiB9OwogCiBlbnVtIEhvcml6b250YWxBbGlnbm1lbnQgewpAQCAtMjA0LDE4ICsyMDQs
MTggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpJbnRlcnBvbGF0aW9u
UXVhbGl0eT4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpMaW5lQ2Fw
PiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICBXZWJDb3JlOjpMaW5lQ2Fw
LAotICAgIFdlYkNvcmU6OkxpbmVDYXA6OkJ1dHRDYXAsCi0gICAgV2ViQ29yZTo6TGluZUNhcDo6
Um91bmRDYXAsCi0gICAgV2ViQ29yZTo6TGluZUNhcDo6U3F1YXJlQ2FwCisgICAgV2ViQ29yZTo6
TGluZUNhcDo6QnV0dCwKKyAgICBXZWJDb3JlOjpMaW5lQ2FwOjpSb3VuZCwKKyAgICBXZWJDb3Jl
OjpMaW5lQ2FwOjpTcXVhcmUKICAgICA+OwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpMaW5lSm9pbj4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8
CiAgICAgV2ViQ29yZTo6TGluZUpvaW4sCi0gICAgV2ViQ29yZTo6TGluZUpvaW46Ok1pdGVySm9p
biwKLSAgICBXZWJDb3JlOjpMaW5lSm9pbjo6Um91bmRKb2luLAotICAgIFdlYkNvcmU6OkxpbmVK
b2luOjpCZXZlbEpvaW4KKyAgICBXZWJDb3JlOjpMaW5lSm9pbjo6TWl0ZXIsCisgICAgV2ViQ29y
ZTo6TGluZUpvaW46OlJvdW5kLAorICAgIFdlYkNvcmU6OkxpbmVKb2luOjpCZXZlbAogICAgID47
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9DYWlyb09wZXJhdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcAppbmRleCAyMjRhNDUyOTEyZDRlMDUzYWM2MjQwYmUx
YTFkYWIyZDM2NGM0MDM1Li4xNTUyMzU2YTIzYTVmZGZiMTBhZmVjYTJjYzkyYTcyNzk0NTgxMDJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWly
b09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0NhaXJvT3BlcmF0aW9ucy5jcHAKQEAgLTYyNiwxMyArNjI2LDEzIEBAIHZvaWQgc2V0TGlu
ZUNhcChHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBMaW5lQ2FwIGxpbmVD
YXApCiB7CiAgICAgY2Fpcm9fbGluZV9jYXBfdCBjYWlyb0NhcCB7IH07CiAgICAgc3dpdGNoIChs
aW5lQ2FwKSB7Ci0gICAgY2FzZSBCdXR0Q2FwOgorICAgIGNhc2UgTGluZUNhcDo6QnV0dDoKICAg
ICAgICAgY2Fpcm9DYXAgPSBDQUlST19MSU5FX0NBUF9CVVRUOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFJvdW5kQ2FwOgorICAgIGNhc2UgTGluZUNhcDo6Um91bmQ6CiAgICAgICAgIGNhaXJv
Q2FwID0gQ0FJUk9fTElORV9DQVBfUk9VTkQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3F1
YXJlQ2FwOgorICAgIGNhc2UgTGluZUNhcDo6U3F1YXJlOgogICAgICAgICBjYWlyb0NhcCA9IENB
SVJPX0xJTkVfQ0FQX1NRVUFSRTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNjUxLDEzICs2
NTEsMTMgQEAgdm9pZCBzZXRMaW5lSm9pbihHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1D
b250ZXh0LCBMaW5lSm9pbiBsaW5lSm9pbikKIHsKICAgICBjYWlyb19saW5lX2pvaW5fdCBjYWly
b0pvaW4geyB9OwogICAgIHN3aXRjaCAobGluZUpvaW4pIHsKLSAgICBjYXNlIE1pdGVySm9pbjoK
KyAgICBjYXNlIExpbmVKb2luOjpNaXRlcjoKICAgICAgICAgY2Fpcm9Kb2luID0gQ0FJUk9fTElO
RV9KT0lOX01JVEVSOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBj
YXNlIExpbmVKb2luOjpSb3VuZDoKICAgICAgICAgY2Fpcm9Kb2luID0gQ0FJUk9fTElORV9KT0lO
X1JPVU5EOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEJldmVsSm9pbjoKKyAgICBjYXNlIExp
bmVKb2luOjpCZXZlbDoKICAgICAgICAgY2Fpcm9Kb2luID0gQ0FJUk9fTElORV9KT0lOX0JFVkVM
OwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggYTc2MmIwNTg4
MTQ2YTUxYjg1M2RiNDY0ZWNjZTZkZWMxNzcxNGNjNi4uYjY1NmYxMzY4MTYyNDdhNDZhY2RjZGE1
OTliYjZkNDFkZDgwOTNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMTE4NCwxMyArMTE4NCwx
MyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dENHOjpzdHJva2VSZWN0KGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCwgZmxvYXQgbGluZVdpZHRoKQogdm9pZCBHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZUNh
cChMaW5lQ2FwIGNhcCkKIHsKICAgICBzd2l0Y2ggKGNhcCkgewotICAgIGNhc2UgQnV0dENhcDoK
KyAgICBjYXNlIExpbmVDYXA6OkJ1dHQ6CiAgICAgICAgIENHQ29udGV4dFNldExpbmVDYXAocGxh
dGZvcm1Db250ZXh0KCksIGtDR0xpbmVDYXBCdXR0KTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBSb3VuZENhcDoKKyAgICBjYXNlIExpbmVDYXA6OlJvdW5kOgogICAgICAgICBDR0NvbnRleHRT
ZXRMaW5lQ2FwKHBsYXRmb3JtQ29udGV4dCgpLCBrQ0dMaW5lQ2FwUm91bmQpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFNxdWFyZUNhcDoKKyAgICBjYXNlIExpbmVDYXA6OlNxdWFyZToKICAg
ICAgICAgQ0dDb250ZXh0U2V0TGluZUNhcChwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUNhcFNx
dWFyZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyMTEsMTMgKzEyMTEsMTMgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHRDRzo6c2V0TGluZURhc2goY29uc3QgRGFzaEFycmF5JiBkYXNoZXMs
IGZsb2F0IGRhc2hPZmZzZXQpCiB2b2lkIEdyYXBoaWNzQ29udGV4dENHOjpzZXRMaW5lSm9pbihM
aW5lSm9pbiBqb2luKQogewogICAgIHN3aXRjaCAoam9pbikgewotICAgIGNhc2UgTWl0ZXJKb2lu
OgorICAgIGNhc2UgTGluZUpvaW46Ok1pdGVyOgogICAgICAgICBDR0NvbnRleHRTZXRMaW5lSm9p
bihwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUpvaW5NaXRlcik7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgUm91bmRKb2luOgorICAgIGNhc2UgTGluZUpvaW46OlJvdW5kOgogICAgICAgICBD
R0NvbnRleHRTZXRMaW5lSm9pbihwbGF0Zm9ybUNvbnRleHQoKSwga0NHTGluZUpvaW5Sb3VuZCk7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpvaW46
OkJldmVsOgogICAgICAgICBDR0NvbnRleHRTZXRMaW5lSm9pbihwbGF0Zm9ybUNvbnRleHQoKSwg
a0NHTGluZUpvaW5CZXZlbCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9EaXJlY3QyRE9wZXJhdGlvbnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RpcmVjdDJET3BlcmF0aW9u
cy5jcHAKaW5kZXggNTI1YTE2MzQxZWJkNWZlNjQxOWQ4MmQ4MGEwNDMwNGRiYTcyMmQ4MC4uZGYz
M2Y1MjVkOTg1ODE5MWJhYTI1NTgyYjUwNzJmOTQ4Mzk0OWRlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RpcmVjdDJET3BlcmF0aW9ucy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RpcmVjdDJET3BlcmF0aW9u
cy5jcHAKQEAgLTM2MSwxMyArMzYxLDEzIEBAIHZvaWQgc2V0TGluZUNhcChQbGF0Zm9ybUNvbnRl
eHREaXJlY3QyRCYgcGxhdGZvcm1Db250ZXh0LCBMaW5lQ2FwIGxpbmVDYXApCiB7CiAgICAgRDJE
MV9DQVBfU1RZTEUgY2FwU3R5bGUgPSBEMkQxX0NBUF9TVFlMRV9GTEFUOwogICAgIHN3aXRjaCAo
bGluZUNhcCkgewotICAgIGNhc2UgUm91bmRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpSb3VuZDoK
ICAgICAgICAgY2FwU3R5bGUgPSBEMkQxX0NBUF9TVFlMRV9ST1VORDsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBTcXVhcmVDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpTcXVhcmU6CiAgICAgICAg
IGNhcFN0eWxlID0gRDJEMV9DQVBfU1RZTEVfU1FVQVJFOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIEJ1dHRDYXA6CisgICAgY2FzZSBMaW5lQ2FwOjpCdXR0OgogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIGNhcFN0eWxlID0gRDJEMV9DQVBfU1RZTEVfRkxBVDsKICAgICAgICAgYnJlYWs7CkBAIC0z
ODYsMTMgKzM4NiwxMyBAQCB2b2lkIHNldExpbmVKb2luKFBsYXRmb3JtQ29udGV4dERpcmVjdDJE
JiBwbGF0Zm9ybUNvbnRleHQsIExpbmVKb2luIGxpbmVKb2luKQogewogICAgIEQyRDFfTElORV9K
T0lOIGpvaW5TdHlsZSA9IEQyRDFfTElORV9KT0lOX01JVEVSOwogICAgIHN3aXRjaCAobGluZUpv
aW4pIHsKLSAgICBjYXNlIFJvdW5kSm9pbjoKKyAgICBjYXNlIExpbmVKb2luOjpSb3VuZDoKICAg
ICAgICAgam9pblN0eWxlID0gRDJEMV9MSU5FX0pPSU5fUk9VTkQ7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQmV2ZWxKb2luOgorICAgIGNhc2UgTGluZUpvaW46OkJldmVsOgogICAgICAgICBq
b2luU3R5bGUgPSBEMkQxX0xJTkVfSk9JTl9CRVZFTDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBNaXRlckpvaW46CisgICAgY2FzZSBMaW5lSm9pbjo6TWl0ZXI6CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgam9pblN0eWxlID0gRDJEMV9MSU5FX0pPSU5fTUlURVI7CiAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAK
aW5kZXggZTFjZDAyNDlhZDcwYzZiZjRiNjBmODBmZjEyYWMyYzU1N2RmZWM1Yi4uOTYzMTdkYWQ2
MmM0NTQ0NDc2ZTllMjA1ZTY3YmU0Y2YxMzJmZDAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCkBAIC0yMDYsOCArMjA2LDggQEAg
c3RhdGljIHZvaWQgZHJhd1JlcGxhY2VtZW50QXJyb3coR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0
LCBjb25zdCBGbG9hdFJlY3QmIGluc2kKICAgICBGbG9hdFBvaW50IGFycm93VGlwKHJlY3QubWF4
WCgpLCBjZW50ZXIueSgpKTsKIAogICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKDIpOwot
ICAgIGNvbnRleHQuc2V0TGluZUNhcChSb3VuZENhcCk7Ci0gICAgY29udGV4dC5zZXRMaW5lSm9p
bihSb3VuZEpvaW4pOworICAgIGNvbnRleHQuc2V0TGluZUNhcChMaW5lQ2FwOjpSb3VuZCk7Cisg
ICAgY29udGV4dC5zZXRMaW5lSm9pbihMaW5lSm9pbjo6Um91bmQpOwogCiAgICAgUGF0aCBwYXRo
OwogICAgIHBhdGgubW92ZVRvKEZsb2F0UG9pbnQocmVjdC54KCksIGNlbnRlci55KCkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCmluZGV4IDQ5ZWZmMzY3
YzBjMzQyM2ExYTllZDI5YjQyMTZkYTJhNDA5ZTdmM2IuLmJmZjIxN2U5NDAxMmUyMWQ2YzEyYzA0
ZTg4Yjg3MDljZjllNTc3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
ZXh0UGFpbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgVGV4dFBhaW50U3R5bGUmIHBhaW50CiAg
ICAgICAgICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcyhwYWludFN0eWxlLnN0cm9rZVdp
ZHRoKTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lSm9pbihwYWludFN0eWxlLmxpbmVKb2luKTsK
ICAgICAgICAgY29udGV4dC5zZXRMaW5lQ2FwKHBhaW50U3R5bGUubGluZUNhcCk7Ci0gICAgICAg
IGlmIChwYWludFN0eWxlLmxpbmVKb2luID09IE1pdGVySm9pbikKKyAgICAgICAgaWYgKHBhaW50
U3R5bGUubGluZUpvaW4gPT0gTGluZUpvaW46Ok1pdGVyKQogICAgICAgICAgICAgY29udGV4dC5z
ZXRNaXRlckxpbWl0KHBhaW50U3R5bGUubWl0ZXJMaW1pdCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaAppbmRleCA1MTc5MmRlZTAyZjMyYjJjMTRk
NThmYmRmMzY1ZWYzNTMwNGE0NDM2Li40NTliYWYxMTJmYzAzMjcwYWZlNDZmZmU4NGVkMGQ1YmE2
YjI2ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaApAQCAt
NTMsOCArNTMsOCBAQCBzdHJ1Y3QgVGV4dFBhaW50U3R5bGUgewogICAgIGJvb2wgdXNlRGFya0Fw
cGVhcmFuY2UgeyBmYWxzZSB9OwogI2VuZGlmCiAgICAgUGFpbnRPcmRlciBwYWludE9yZGVyIHsg
UGFpbnRPcmRlcjo6Tm9ybWFsIH07Ci0gICAgTGluZUpvaW4gbGluZUpvaW4geyBNaXRlckpvaW4g
fTsKLSAgICBMaW5lQ2FwIGxpbmVDYXAgeyBCdXR0Q2FwIH07CisgICAgTGluZUpvaW4gbGluZUpv
aW4geyBMaW5lSm9pbjo6TWl0ZXIgfTsKKyAgICBMaW5lQ2FwIGxpbmVDYXAgeyBMaW5lQ2FwOjpC
dXR0IH07CiAgICAgZmxvYXQgbWl0ZXJMaW1pdCB7IGRlZmF1bHRNaXRlckxpbWl0IH07CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDE3
NTY0OTgxMDgyMmIwMjVhZTlmZWU2MWYwZGI5MjM5MmVlZTVhY2EuLmEwZDQ4ODEzYmVkMDNlYTIz
ZDA0NmU3NDY0ZjM4YmY0MGMzYzU2N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMzU5LDEzICsxMzU5LDEzIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFpbnRPcmRlciBpbml0aWFsUGFpbnRPcmRlcigpIHsgcmV0dXJuIFBhaW50T3JkZXI6
Ok5vcm1hbDsgfQogICAgIHN0YXRpYyBWZWN0b3I8UGFpbnRUeXBlLCAzPiBwYWludFR5cGVzRm9y
UGFpbnRPcmRlcihQYWludE9yZGVyKTsKICAgICAKLSAgICB2b2lkIHNldENhcFN0eWxlKExpbmVD
YXAgdmFsKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgY2FwU3R5bGUsIHZhbCk7IH0K
KyAgICB2b2lkIHNldENhcFN0eWxlKExpbmVDYXAgdmFsKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJp
dGVkRGF0YSwgY2FwU3R5bGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWwpKTsgfQogICAgIExp
bmVDYXAgY2FwU3R5bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaW5lQ2FwPihtX3Jh
cmVJbmhlcml0ZWREYXRhLT5jYXBTdHlsZSk7IH0KLSAgICBzdGF0aWMgTGluZUNhcCBpbml0aWFs
Q2FwU3R5bGUoKSB7IHJldHVybiBCdXR0Q2FwOyB9CisgICAgc3RhdGljIExpbmVDYXAgaW5pdGlh
bENhcFN0eWxlKCkgeyByZXR1cm4gTGluZUNhcDo6QnV0dDsgfQogICAgIAotICAgIHZvaWQgc2V0
Sm9pblN0eWxlKExpbmVKb2luIHZhbCkgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGpv
aW5TdHlsZSwgdmFsKTsgfQorICAgIHZvaWQgc2V0Sm9pblN0eWxlKExpbmVKb2luIHZhbCkgeyBT
RVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGpvaW5TdHlsZSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHZhbCkpOyB9CiAgICAgTGluZUpvaW4gam9pblN0eWxlKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8TGluZUpvaW4+KG1fcmFyZUluaGVyaXRlZERhdGEtPmpvaW5TdHlsZSk7IH0KLSAg
ICBzdGF0aWMgTGluZUpvaW4gaW5pdGlhbEpvaW5TdHlsZSgpIHsgcmV0dXJuIE1pdGVySm9pbjsg
fQorICAgIHN0YXRpYyBMaW5lSm9pbiBpbml0aWFsSm9pblN0eWxlKCkgeyByZXR1cm4gTGluZUpv
aW46Ok1pdGVyOyB9CiAgICAgCiAgICAgY29uc3QgTGVuZ3RoJiBzdHJva2VXaWR0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9rZVdpZHRoOyB9CiAgICAgdm9pZCBz
ZXRTdHJva2VXaWR0aChMZW5ndGgmJiB3KSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwg
c3Ryb2tlV2lkdGgsIFdURk1vdmUodykpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggOTVmMDkw
YjA3MTNmODFlM2EzMTk2ZDNiMWIyZThhYzczYTc1NzQ4My4uMTVjYTFiMGFjNTUzNmEzZTRmZGE1
NWRiMTMwMWQ5M2IwYjFiN2FmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtMTI4LDggKzEyOCw4
IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogI2Vu
ZGlmCiAgICAgLCBoYW5naW5nUHVuY3R1YXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxIYW5naW5n
UHVuY3R1YXRpb24oKS50b1JhdygpKQogICAgICwgcGFpbnRPcmRlcihzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxQYWludE9yZGVyKCkpKQotICAgICwgY2FwU3R5bGUo
UmVuZGVyU3R5bGU6OmluaXRpYWxDYXBTdHlsZSgpKQotICAgICwgam9pblN0eWxlKFJlbmRlclN0
eWxlOjppbml0aWFsSm9pblN0eWxlKCkpCisgICAgLCBjYXBTdHlsZShzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxDYXBTdHlsZSgpKSkKKyAgICAsIGpvaW5TdHlsZShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUmVuZGVyU3R5bGU6OmluaXRpYWxKb2luU3R5bGUoKSkpCiAg
ICAgLCBoYXNTZXRTdHJva2VXaWR0aChmYWxzZSkKICAgICAsIGhhc1NldFN0cm9rZUNvbG9yKGZh
bHNlKQogICAgICwgbWF0aFN0eWxlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihSZW5kZXJTdHlsZTo6
aW5pdGlhbE1hdGhTdHlsZSgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1BhdGguY3BwCmluZGV4IGM0ZDllY2Y3NGRkYmZjOGQ4MjU2OTBhMzBmNzMxNzg5NTA5
ZTMxZDUuLmUwMTBjOWM1NDFiN2RkZDMwZjk2YjM2MmY2MTFiNjQzNzA2NGFkMjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmNwcApAQCAtMTEwLDEx
ICsxMTAsMTEgQEAgYm9vbCBSZW5kZXJTVkdQYXRoOjpzaGFwZURlcGVuZGVudFN0cm9rZUNvbnRh
aW5zKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBQb2ludEMKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1femVyb0xlbmd0aExpbmVjYXBMb2NhdGlvbnMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgQVNTRVJUKHN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2UoKSk7CiAgICAgICAgIGZsb2F0
IHN0cm9rZVdpZHRoID0gdGhpcy0+c3Ryb2tlV2lkdGgoKTsKLSAgICAgICAgaWYgKHN0eWxlKCku
Y2FwU3R5bGUoKSA9PSBTcXVhcmVDYXApIHsKKyAgICAgICAgaWYgKHN0eWxlKCkuY2FwU3R5bGUo
KSA9PSBMaW5lQ2FwOjpTcXVhcmUpIHsKICAgICAgICAgICAgIGlmICh6ZXJvTGVuZ3RoU3VicGF0
aFJlY3QobV96ZXJvTGVuZ3RoTGluZWNhcExvY2F0aW9uc1tpXSwgc3Ryb2tlV2lkdGgpLmNvbnRh
aW5zKHBvaW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIEFTU0VSVChzdHlsZSgpLmNhcFN0eWxlKCkgPT0gUm91bmRDYXApOwor
ICAgICAgICAgICAgQVNTRVJUKHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBMaW5lQ2FwOjpSb3VuZCk7
CiAgICAgICAgICAgICBGbG9hdFBvaW50IHJhZGl1c1ZlY3Rvcihwb2ludC54KCkgLSBtX3plcm9M
ZW5ndGhMaW5lY2FwTG9jYXRpb25zW2ldLngoKSwgcG9pbnQueSgpIC0gIG1femVyb0xlbmd0aExp
bmVjYXBMb2NhdGlvbnNbaV0ueSgpKTsKICAgICAgICAgICAgIGlmIChyYWRpdXNWZWN0b3IubGVu
Z3RoU3F1YXJlZCgpIDwgc3Ryb2tlV2lkdGggKiBzdHJva2VXaWR0aCAqIC4yNWYpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMjcsNyArMTI3LDcgQEAgYm9vbCBSZW5kZXJTVkdQ
YXRoOjpzaG91bGRTdHJva2VaZXJvTGVuZ3RoU3VicGF0aCgpIGNvbnN0CiB7CiAgICAgLy8gU3Bl
YygxMS40KTogQW55IHplcm8gbGVuZ3RoIHN1YnBhdGggc2hhbGwgbm90IGJlIHN0cm9rZWQgaWYg
dGhlICJzdHJva2UtbGluZWNhcCIgcHJvcGVydHkgaGFzIGEgdmFsdWUgb2YgYnV0dAogICAgIC8v
IGJ1dCBzaGFsbCBiZSBzdHJva2VkIGlmIHRoZSAic3Ryb2tlLWxpbmVjYXAiIHByb3BlcnR5IGhh
cyBhIHZhbHVlIG9mIHJvdW5kIG9yIHNxdWFyZQotICAgIHJldHVybiBzdHlsZSgpLnN2Z1N0eWxl
KCkuaGFzU3Ryb2tlKCkgJiYgc3R5bGUoKS5jYXBTdHlsZSgpICE9IEJ1dHRDYXA7CisgICAgcmV0
dXJuIHN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2UoKSAmJiBzdHlsZSgpLmNhcFN0eWxlKCkg
IT0gTGluZUNhcDo6QnV0dDsKIH0KIAogUGF0aCogUmVuZGVyU1ZHUGF0aDo6emVyb0xlbmd0aExp
bmVjYXBQYXRoKGNvbnN0IEZsb2F0UG9pbnQmIGxpbmVjYXBQb3NpdGlvbikgY29uc3QKQEAgLTEz
NSw3ICsxMzUsNyBAQCBQYXRoKiBSZW5kZXJTVkdQYXRoOjp6ZXJvTGVuZ3RoTGluZWNhcFBhdGgo
Y29uc3QgRmxvYXRQb2ludCYgbGluZWNhcFBvc2l0aW9uKSBjbwogICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxQYXRoPiB0ZW1wUGF0aDsKIAogICAgIHRlbXBQYXRoLmdldCgpLmNsZWFyKCk7Ci0g
ICAgaWYgKHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBTcXVhcmVDYXApCisgICAgaWYgKHN0eWxlKCku
Y2FwU3R5bGUoKSA9PSBMaW5lQ2FwOjpTcXVhcmUpCiAgICAgICAgIHRlbXBQYXRoLmdldCgpLmFk
ZFJlY3QoemVyb0xlbmd0aFN1YnBhdGhSZWN0KGxpbmVjYXBQb3NpdGlvbiwgdGhpcy0+c3Ryb2tl
V2lkdGgoKSkpOwogICAgIGVsc2UKICAgICAgICAgdGVtcFBhdGguZ2V0KCkuYWRkRWxsaXBzZSh6
ZXJvTGVuZ3RoU3VicGF0aFJlY3QobGluZWNhcFBvc2l0aW9uLCB0aGlzLT5zdHJva2VXaWR0aCgp
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1
cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0
LmNwcAppbmRleCA3ODZjOTUxNDVjZGI5NWFlYzFlY2IwMTJlMWRmZWU2NTc3YzExMzgzLi4xZjgx
YmE1NmU0OGQ5MmYwMjY2YWZlODA3ODM1ZGZlZWU4MWE4OTNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKQEAgLTQ2MSw3ICs0NjEs
NyBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdAogICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tu
ZXNzKGxlbmd0aENvbnRleHQudmFsdWVGb3JMZW5ndGgoc3R5bGUuc3Ryb2tlV2lkdGgoKSkpOwog
ICAgIGNvbnRleHQuc2V0TGluZUNhcChzdHlsZS5jYXBTdHlsZSgpKTsKICAgICBjb250ZXh0LnNl
dExpbmVKb2luKHN0eWxlLmpvaW5TdHlsZSgpKTsKLSAgICBpZiAoc3R5bGUuam9pblN0eWxlKCkg
PT0gTWl0ZXJKb2luKQorICAgIGlmIChzdHlsZS5qb2luU3R5bGUoKSA9PSBMaW5lSm9pbjo6TWl0
ZXIpCiAgICAgICAgIGNvbnRleHQuc2V0TWl0ZXJMaW1pdChzdHlsZS5zdHJva2VNaXRlckxpbWl0
KCkpOwogCiAgICAgY29uc3QgVmVjdG9yPFNWR0xlbmd0aFZhbHVlPiYgZGFzaGVzID0gc3ZnU3R5
bGUuc3Ryb2tlRGFzaEFycmF5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAzMWVlY2Q4MDZiZmRiZjU2NmE1YTVj
YmMxOTg4MTA5OWMzYjJmNDI0Li5iNDczOTQzOGM1ZjNlMmM2OTFlZjNiMDJiYmJlYzlkMjkyMDcw
M2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRy
ZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
VHJlZUFzVGV4dC5jcHAKQEAgLTE5Nyw4ICsxOTcsOCBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0eWxl
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKICAgICAgICAg
ICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAib3BhY2l0eSIsIHN2Z1N0eWxlLnN0cm9rZU9wYWNp
dHkoKSwgMS4wZik7CiAgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgInN0cm9rZSB3
aWR0aCIsIHN0cm9rZVdpZHRoLCAxLjApOwogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQo
dHMsICJtaXRlciBsaW1pdCIsIHN0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgNC4wZik7Ci0gICAg
ICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgImxpbmUgY2FwIiwgc3R5bGUuY2FwU3R5bGUo
KSwgQnV0dENhcCk7Ci0gICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgImxpbmUgam9p
biIsIHN0eWxlLmpvaW5TdHlsZSgpLCBNaXRlckpvaW4pOworICAgICAgICAgICAgd3JpdGVJZk5v
dERlZmF1bHQodHMsICJsaW5lIGNhcCIsIHN0eWxlLmNhcFN0eWxlKCksIExpbmVDYXA6OkJ1dHQp
OworICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJsaW5lIGpvaW4iLCBzdHlsZS5q
b2luU3R5bGUoKSwgTGluZUpvaW46Ok1pdGVyKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZh
dWx0KHRzLCAiZGFzaCBvZmZzZXQiLCBkYXNoT2Zmc2V0LCAwLjApOwogICAgICAgICAgICAgaWYg
KCFkYXNoQXJyYXkuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFp
cih0cywgImRhc2ggYXJyYXkiLCBkYXNoQXJyYXkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>