<?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>231238</bug_id>
          
          <creation_ts>2021-10-05 10:14:36 -0700</creation_ts>
          <short_desc>Share macOS code between ScrollAnimator::handleWheelEvent() and ScrollingEffectsController::handleWheelEvent()</short_desc>
          <delta_ts>2021-12-23 09:20:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>Safari Technology Preview</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clord</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1800622</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 10:14:36 -0700</bug_when>
    <thetext>There&apos;s duplicate but slightly different code here and it needs to be cleaned up. This code is hit for some non-accelerated cases like list box scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803197</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-12 10:15:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/84153262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825852</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 19:59:00 -0800</bug_when>
    <thetext>*** Bug 234495 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826440</commentid>
    <comment_count>3</comment_count>
      <attachid>447841</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-22 16:32:00 -0800</bug_when>
    <thetext>Created attachment 447841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826445</commentid>
    <comment_count>4</comment_count>
      <attachid>447841</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-22 16:46:14 -0800</bug_when>
    <thetext>Comment on attachment 447841
Patch

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

r=mews

&gt; Source/WebCore/ChangeLog:18
&gt; +        The ScrollAnimatorMac::handleWheelEvent() override now simply class into the base class,

&quot;class into&quot; =&gt; &quot;calls into&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826558</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-23 09:20:20 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/287397/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447841</attachid>
            <date>2021-12-22 16:32:00 -0800</date>
            <delta_ts>2021-12-22 16:46:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231238-20211222163200.patch</filename>
            <type>text/plain</type>
            <size>21996</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY1NWI4MDQxOWU0ZTg3
ODE5MDM4MjUwMTIyMGQyZGM3YmJiZTZjZC4uOGJhMjY4YWM1ZDJjYWY0NmZjZGEyZjUyNDU5N2Fi
MzJjMTFhNzZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTEyLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlIG1hY09T
IGNvZGUgYmV0d2VlbiBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCgpIGFuZCBTY3Jv
bGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudCgpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEyMzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTY3JvbGxBbmltYXRvcjo6aGFuZGxl
V2hlZWxFdmVudCgpIGhhZCBzb21lIG1hY09TLW9ubHkgY29kZSAoZGVzcGl0ZSBoYXZpbmcgYQor
ICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBzdWJjbGFzcykgd2hvc2UgcHVycG9zZSB3YXMgdW5j
bGVhci4gSXQgdHVybnMgb3V0IHRoZSBjb2RlIHJ1bnMgaW4gdHdvCisgICAgICAgIHNjZW5hcmlv
czogZm9yIHNlbGVjdCBsaXN0cywgd2hpY2ggYWx3YXlzIHNjcm9sbCBvbiB0aGUgbWFpbiB0aHJl
YWQsIGFuZCBpbiBzb21lIG1haW4gdGhyZWFkCisgICAgICAgIHNjcm9sbGluZyBjYXNlcyB3aGVu
IHJlc3BvbmRpbmcgdG8gbm9uLWdlc3R1cmUgZXZlbnRzIChpLmUuIHRob3NlIGZyb20gb2xkLXN0
eWxlIGNsaWNreQorICAgICAgICBzY3JvbGwgd2hlZWxzKS4KKworICAgICAgICBDbGVhbiB0aGlz
IGJ5IG1ha2luZyB0aGF0IGNvZGUgY2xlYXJseSBzcGVjaWZpYyB0byAic3RlcHBlZCBzY3JvbGxp
bmciLCB2aWEgdGhlCisgICAgICAgIHZpcnR1YWwgU2Nyb2xsYWJsZUFyZWE6Omhhc1N0ZXBwZWRT
Y3JvbGxpbmcoKS4gQ2FsbCBpdCBpbiBjcm9zcy1wbGF0Zm9ybSBjb2RlIGluCisgICAgICAgIFNj
cm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KCkuCisgICAgICAgIAorICAgICAgICBUaGUg
U2Nyb2xsQW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnQoKSBvdmVycmlkZSBub3cgc2ltcGx5
IGNsYXNzIGludG8gdGhlIGJhc2UgY2xhc3MsCisgICAgICAgIGFmdGVyIGRvaW5nIHNvbWUgbWFj
T1Mtc3BlY2lmaWMgc3R1ZmYgZm9yIHBoYXNlIGhhbmRsaW5nICh3aGljaCBpcyByZWxhdGVkIHRv
IHNjcm9sbGJhciBmbGFzaGluZykuCisKKyAgICAgICAgcnViYmVyQmFuZGluZ0VuYWJsZWRGb3JT
eXN0ZW0oKSBpcyBubyBsb25nZXIgY29uc3VsdGVkOyB0aGlzIG5ldmVyIHdvcmtlZCBmb3IgdGhy
ZWFkZWQgc2Nyb2xsaW5nLgorICAgICAgICBJZiB3ZSBuZWVkIGl0LCB3ZSBjYW4gYnJpbmcgaXQg
YmFjay4gV2Ugbm8gbG9uZ2VyIG5lZWQgdGhlIHNob3VsZEZvcndhcmRXaGVlbEV2ZW50c1RvUGFy
ZW50KCkKKyAgICAgICAgYW5kIGl0cyBtaXNsZWFkaW5nIGNvbW1lbnQuCisKKyAgICAgICAgTm93
IHRoYXQgc3RhdGVsZXNzIHdoZWVsIGV2ZW50cyBnbyB0aHJvdWdoIFNjcm9sbGluZ0VmZmVjdHND
b250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KCksCisgICAgICAgIHdlIGhhdmUgdG8gYXZvaWQg
ZG9pbmcgYXhpcyBzbmFwcGluZyBmb3IgdGhlbS4KKyAgICAgICAgCisgICAgICAgIGNzczMvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtd2hlZWwtZXZlbnQuaHRtbCByZXZlYWxzIGEgYmVoYXZpb3Ig
cHJvZ3Jlc3Npb246IHByZXZpb3VzbHkKKyAgICAgICAgc3RhdGVsZXNzLCBtYWluIHRocmVhZCBz
Y3JvbGwgc25hcCBzY3JvbGxzIHdvdWxkIHVzZSB0aGUgY29kZSBub3cgaW4KKyAgICAgICAgaGFu
ZGxlU3RlcHBlZFNjcm9sbGluZygpIGFuZCBhIHNpbmdsZSBzbWFsbCBkZWx0YSB3b3VsZCBwaWNr
IHRoZSBzbmFwIHBvaW50IGluIHRoYXQKKyAgICAgICAgZGlyZWN0aW9uLiBUaGlzIGRpZmZlcmVk
IGZyb20gc2Nyb2xsaW5nIHRocmVhZCBzY3JvbGxzLCB3aGVyZSBzdGF0ZWxlc3Mgc2Nyb2xscyBh
bmltYXRlIHRvCisgICAgICAgIHRoZSBuZWFyZXN0IHNuYXAgcG9pbnRlciBhZnRlciBhIHRpbWVy
IGZpcmUuIE5vdywgdGhpcyBzYW1lIGJlaGF2aW9yIGFwcGxpZXMgdG8gbWFpbiB0aHJlYWQKKyAg
ICAgICAgc3RhdGVsZXNzIHNjcm9sbHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdo
ZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0
dXJlRXZlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojpp
c05vbkdlc3R1cmVFdmVudCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVN0ZXBwZWRTY3Jv
bGxpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVB
cmVhOjpoYXNTdGVwcGVkU2Nyb2xsaW5nIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6aGFuZGxlV2hl
ZWxFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpydWJiZXJCYW5kaW5nRW5hYmxlZEZvclN5c3Rl
bSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxk
Rm9yd2FyZFdoZWVsRXZlbnRzVG9QYXJlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorCiAyMDIxLTEyLTIyICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnZlcnQgY3NzMy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC13aGVlbC1ldmVudC5odG1sIHRvIHVzZSBtb25pdG9yV2hlZWxF
dmVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVl
bEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApp
bmRleCBhNDViOGU3ODdkZjAyMzA3NTQzNTUwNWVjYzZlZjVjMWM4ZTAzZTJmLi5lZTI5ZTIzMGZk
YTExNzdlOTY1YTZhMDJmMTVhYTE0Y2U2NTU0ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApAQCAtMTY4LDcgKzE2OCw2IEBAIHB1YmxpYzoKICAg
ICBib29sIHVzZUxhdGNoZWRFdmVudEVsZW1lbnQoKSBjb25zdDsKICAgICBib29sIGlzR2VzdHVy
ZUNvbnRpbnVhdGlvbigpIGNvbnN0OyAvLyBUaGUgZmluZ2Vycy1kb3duIHBhcnQgb2YgdGhlIGdl
c3R1cmUgZXhjbHVkaW5nIG1vbWVudHVtLgogICAgIGJvb2wgc2hvdWxkUmVzZXRMYXRjaGluZygp
IGNvbnN0OwotICAgIGJvb2wgaXNOb25HZXN0dXJlRXZlbnQoKSBjb25zdDsKICAgICBib29sIGlz
RW5kT2ZNb21lbnR1bVNjcm9sbCgpIGNvbnN0OwogI2Vsc2UKICAgICBib29sIHVzZUxhdGNoZWRF
dmVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTgxLDYgKzE4MCw5IEBA
IHB1YmxpYzoKICAgICBib29sIGlzR2VzdHVyZVN0YXJ0KCkgY29uc3Q7CiAgICAgYm9vbCBpc0dl
c3R1cmVDYW5jZWwoKSBjb25zdDsKIAorICAgIGJvb2wgaXNHZXN0dXJlRXZlbnQoKSBjb25zdDsK
KyAgICBib29sIGlzTm9uR2VzdHVyZUV2ZW50KCkgY29uc3Q7CisKICAgICBib29sIGlzRW5kT2ZO
b25Nb21lbnR1bVNjcm9sbCgpIGNvbnN0OwogICAgIGJvb2wgaXNUcmFuc2l0aW9uaW5nVG9Nb21l
bnR1bVNjcm9sbCgpIGNvbnN0OwogICAgIEZsb2F0U2l6ZSBzd2lwZVZlbG9jaXR5KCkgY29uc3Q7
CkBAIC0yNDAsMTEgKzI0Miw2IEBAIGlubGluZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6c2hv
dWxkUmVzZXRMYXRjaGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZCB8fCBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpNYXlCZWdpbiB8fCAobV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
Tm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUp
IHx8IGlzRW5kT2ZNb21lbnR1bVNjcm9sbCgpOwogfQogCi1pbmxpbmUgYm9vbCBQbGF0Zm9ybVdo
ZWVsRXZlbnQ6OmlzTm9uR2VzdHVyZUV2ZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9waGFz
ZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0g
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmU7Ci19Ci0KIGlubGluZSBib29sIFBsYXRmb3Jt
V2hlZWxFdmVudDo6aXNFbmRPZk1vbWVudHVtU2Nyb2xsKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSAmJiBtX21vbWVudHVtUGhh
c2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkVuZGVkOwpAQCAtMjU0LDYgKzI1MSwxNiBA
QCBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzRW5kT2ZNb21lbnR1bVNjcm9sbCgp
IGNvbnN0CiAKICNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKK2lubGluZSBib29sIFBs
YXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0dXJlRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBt
X3BoYXNlICE9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lIHx8IG1fbW9tZW50dW1QaGFz
ZSAhPSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZTsKK30KKworaW5saW5lIGJvb2wgUGxh
dGZvcm1XaGVlbEV2ZW50Ojppc05vbkdlc3R1cmVFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICFpc0dlc3R1cmVFdmVudCgpOworfQorCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6
OmlzR2VzdHVyZVN0YXJ0KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZTo6QmVnYW4gfHwgbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZTo6TWF5QmVnaW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKaW5kZXggYjNkY2YyZDVhMzRiYTNlNzAxYTM2YmUyNTgzOGRlNzEyYTQyMDEyNy4uNjY4MTEz
NTJlMzk2YWE1OTdkZmQxOWRhNTlhNzllYmNhZGQ4MWJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtMTU4LDMwICsxNTgsMjcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvcjo6cmVzbmFwQWZ0ZXJMYXlvdXQoKQogICAgIG1fc2Nyb2xsQ29udHJvbGxlci5y
ZXNuYXBBZnRlckxheW91dCgpOwogfQogCi1ib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVl
bEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKK2Jvb2wgU2Nyb2xsQW5pbWF0b3I6
OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQog
ewotICAgIGlmIChwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoZSkpCisgICAgaWYgKHBy
b2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgLy8gRXZlbnRzIGluIHRoZSBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4gcGhhc2UgaGF2ZSBubyBkZWx0YXMsIGFuZCB0
aGVyZWZvcmUgbmV2ZXIgcGFzc2VzIHRocm91Z2ggdGhlIHNjcm9sbCBoYW5kbGluZyBsb2dpYyBi
ZWxvdy4KLSAgICAvLyBUaGlzIGNhdXNlcyB1cyB0byByZXR1cm4gd2l0aCBhbiAndW5oYW5kbGVk
JyByZXR1cm4gc3RhdGUsIGV2ZW4gdGhvdWdoIHRoaXMgZXZlbnQgd2FzIHN1Y2Nlc3NmdWxseSBw
cm9jZXNzZWQuCi0gICAgLy8KLSAgICAvLyBXZSByZWNlaXZlIGF0IGxlYXN0IG9uZSBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4gd2hlbiBzdGFydGluZyBtYWluLXRocmVhZCBzY3Jv
bGxpbmcgKHNlZSBGcmFtZVZpZXc6OndoZWVsRXZlbnQpLCB3aGljaCBjYW4KLSAgICAvLyBmb29s
IHRoZSBzY3JvbGxpbmcgdGhyZWFkIGludG8gYXR0ZW1wdGluZyB0byBoYW5kbGUgdGhlIHNjcm9s
bCwgdW5sZXNzIHdlIHRyZWF0IHRoZSBldmVudCBhcyBoYW5kbGVkIGhlcmUuCi0gICAgaWYgKGUu
cGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4pCi0gICAgICAgIHJl
dHVybiB0cnVlOwotI2VuZGlmCisgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEuaGFzU3RlcHBlZFNj
cm9sbGluZygpKQorICAgICAgICByZXR1cm4gaGFuZGxlU3RlcHBlZFNjcm9sbGluZyh3aGVlbEV2
ZW50KTsKKworICAgIHJldHVybiBtX3Njcm9sbENvbnRyb2xsZXIuaGFuZGxlV2hlZWxFdmVudCh3
aGVlbEV2ZW50KTsKK30KIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIGJlIGFibGUgdG8gcmVtb3ZlIHRoaXMgY29kZSwgYnV0IE1hYydzIGhhbmRsZVdoZWVsRXZl
bnQgcmVsaWVzIG9uIHRoaXMgc29tZWhvdy4KLSAgICBTY3JvbGxiYXIqIGhvcml6b250YWxTY3Jv
bGxiYXIgPSBtX3Njcm9sbGFibGVBcmVhLmhvcml6b250YWxTY3JvbGxiYXIoKTsKLSAgICBTY3Jv
bGxiYXIqIHZlcnRpY2FsU2Nyb2xsYmFyID0gbV9zY3JvbGxhYmxlQXJlYS52ZXJ0aWNhbFNjcm9s
bGJhcigpOworLy8gIlN0ZXBwZWQgc2Nyb2xsaW5nIiBpcyBvbmx5IHVzZWQgYnkgUmVuZGVyTGlz
dEJveC4gSXQncyBzcGVjaWFsIGluIHRoYXQgaXQgaGFzIG5vIHJ1YmJlcmJhbmRpbmcsIGFuZCBz
Y3JvbGwgZGVsdGFzIHJlc3BlY3QgU2Nyb2xsYmFyOjpwaXhlbFN0ZXAoKS4KK2Jvb2wgU2Nyb2xs
QW5pbWF0b3I6OmhhbmRsZVN0ZXBwZWRTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiB3aGVlbEV2ZW50KQoreworICAgIGF1dG8qIGhvcml6b250YWxTY3JvbGxiYXIgPSBtX3Njcm9s
bGFibGVBcmVhLmhvcml6b250YWxTY3JvbGxiYXIoKTsKKyAgICBhdXRvKiB2ZXJ0aWNhbFNjcm9s
bGJhciA9IG1fc2Nyb2xsYWJsZUFyZWEudmVydGljYWxTY3JvbGxiYXIoKTsKIAogICAgIC8vIEFj
Y2VwdCB0aGUgZXZlbnQgaWYgd2UgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGF0IGRpcmVjdGlvbiBh
bmQgY2FuIHN0aWxsCiAgICAgLy8gc2Nyb2xsIGFueSBmdXJ0aGVyLgotICAgIGZsb2F0IGRlbHRh
WCA9IGhvcml6b250YWxTY3JvbGxiYXIgPyBlLmRlbHRhWCgpIDogMDsKLSAgICBmbG9hdCBkZWx0
YVkgPSB2ZXJ0aWNhbFNjcm9sbGJhciA/IGUuZGVsdGFZKCkgOiAwOworICAgIGZsb2F0IGRlbHRh
WCA9IGhvcml6b250YWxTY3JvbGxiYXIgPyB3aGVlbEV2ZW50LmRlbHRhWCgpIDogMDsKKyAgICBm
bG9hdCBkZWx0YVkgPSB2ZXJ0aWNhbFNjcm9sbGJhciA/IHdoZWVsRXZlbnQuZGVsdGFZKCkgOiAw
OwogCiAgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7CiAKQEAgLTE5NCwxMSArMTkxLDExIEBAIGJv
b2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiBlKQogICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKIAogICAgICAgICBPcHRpb25TZXQ8U2Ny
b2xsQmVoYXZpb3I+IGJlaGF2aW9yID0geyBTY3JvbGxCZWhhdmlvcjo6UmVzcGVjdFNjcm9sbFNu
YXAgfTsKLSAgICAgICAgaWYgKGUuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpKQorICAgICAg
ICBpZiAod2hlZWxFdmVudC5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkpCiAgICAgICAgICAg
ICBiZWhhdmlvci5hZGQoU2Nyb2xsQmVoYXZpb3I6Ok5ldmVyQW5pbWF0ZSk7CiAKICAgICAgICAg
aWYgKGRlbHRhWSkgewotICAgICAgICAgICAgaWYgKGUuZ3JhbnVsYXJpdHkoKSA9PSBTY3JvbGxC
eVBhZ2VXaGVlbEV2ZW50KQorICAgICAgICAgICAgaWYgKHdoZWVsRXZlbnQuZ3JhbnVsYXJpdHko
KSA9PSBTY3JvbGxCeVBhZ2VXaGVlbEV2ZW50KQogICAgICAgICAgICAgICAgIGRlbHRhWSA9IHN0
ZDo6Y29weXNpZ24oU2Nyb2xsYmFyOjpwYWdlU3RlcERlbHRhKG1fc2Nyb2xsYWJsZUFyZWEudmlz
aWJsZUhlaWdodCgpKSwgZGVsdGFZKTsKIAogICAgICAgICAgICAgYXV0byBzY3JvbGxEZWx0YSA9
IHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSAqIC1kZWx0YVk7IC8vIFdoZWVsIGRlbHRh
cyBhcmUgcmV2ZXJzZWQgZnJvbSBzY3JvbGxpbmcgZGlyZWN0aW9uLgpAQCAtMjA2LDcgKzIwMyw3
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiBlKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRlbHRhWCkgewotICAgICAg
ICAgICAgaWYgKGUuZ3JhbnVsYXJpdHkoKSA9PSBTY3JvbGxCeVBhZ2VXaGVlbEV2ZW50KQorICAg
ICAgICAgICAgaWYgKHdoZWVsRXZlbnQuZ3JhbnVsYXJpdHkoKSA9PSBTY3JvbGxCeVBhZ2VXaGVl
bEV2ZW50KQogICAgICAgICAgICAgICAgIGRlbHRhWCA9IHN0ZDo6Y29weXNpZ24oU2Nyb2xsYmFy
OjpwYWdlU3RlcERlbHRhKG1fc2Nyb2xsYWJsZUFyZWEudmlzaWJsZVdpZHRoKCkpLCBkZWx0YVgp
OwogCiAgICAgICAgICAgICBhdXRvIHNjcm9sbERlbHRhID0gaG9yaXpvbnRhbFNjcm9sbGJhci0+
cGl4ZWxTdGVwKCkgKiAtZGVsdGFYOyAvLyBXaGVlbCBkZWx0YXMgYXJlIHJldmVyc2VkIGZyb20g
c2Nyb2xsaW5nIGRpcmVjdGlvbi4KQEAgLTIxNCw5ICsyMTEsNiBAQCBib29sIFNjcm9sbEFuaW1h
dG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAg
ICAgfQogICAgIH0KICAgICByZXR1cm4gaGFuZGxlZDsKLSNlbHNlCi0gICAgcmV0dXJuIG1fc2Ny
b2xsQ29udHJvbGxlci5oYW5kbGVXaGVlbEV2ZW50KGUpOwotI2VuZGlmCiB9CiAKIHZvaWQgU2Ny
b2xsQW5pbWF0b3I6OnN0b3BLZXlib2FyZFNjcm9sbEFuaW1hdGlvbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCAxYzRhMzUyYzBiYjgzOThiMDYwMDY2YWE3
MjA1NmE0MTk0M2RmZGY2Li5kYmJlNmZkMzZjNTRkNjhjMjE0ZDMzYTQzYTdlOTkwM2E3NTZmZTE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTEyNCw2ICsx
MjQsOSBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxBbmltYXRpb25TdGF0dXMgc2VydmljZVNjcm9s
bEFuaW1hdGlvbihNb25vdG9uaWNUaW1lKTsKIAorcHJvdGVjdGVkOgorICAgIGJvb2wgaGFuZGxl
U3RlcHBlZFNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKKwogcHJpdmF0ZToK
ICAgICB2b2lkIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggMWFjZGY1NWJi
ZWYzZDNmYTU5NDJhNGVmYTZiZGNiZmIzY2ZhYWIwOC4uYTM2ZTE5OGM2OTViMWI4NDY1YWMwNTBm
ZTFjMzRhNjhlMWU5ODVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oCkBAIC0xMTEsNiArMTExLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRT
Y3JvbGwoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlU2Nyb2xsKCkgeyB9CiAjZW5k
aWYKKyAgICAKKyAgICAvLyAiU3RlcHBlZCBzY3JvbGxpbmciIGlzIHVzZWQgYnkgUmVuZGVyTGlz
dEJveDsgaXQgaW1wbGllcyB0aGF0IHNjcm9sbGJhci0+cGl4ZWxTdGVwKCkgaXMgbm90IDEgYW5k
IG5ldmVyIGhhcyBydWJiZXJiYW5kaW5nLgorICAgIHZpcnR1YWwgYm9vbCBoYXNTdGVwcGVkU2Ny
b2xsaW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFNjcm9sbENsYW1waW5nIHNj
cm9sbENsYW1waW5nKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDbGFtcGluZzsgfQogICAgIHZv
aWQgc2V0U2Nyb2xsQ2xhbXBpbmcoU2Nyb2xsQ2xhbXBpbmcgY2xhbXBpbmcpIHsgbV9zY3JvbGxD
bGFtcGluZyA9IGNsYW1waW5nOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5oCmluZGV4IDY0YWU1MmMyNTVhZTNlOGYyY2FhN2MxOTIxMTI0Zjdi
ZDE1MGUyMjIuLjk2ODIyZDE4ODNjNmY0NTNjZTY3YzIzMDVlOTUwN2IxYTU2YWE1ZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC00
Myw3ICs0Myw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TY3JvbGxBbmltYXRvck1hYygpOwog
CiBwcml2YXRlOgotICAgIGJvb2wgc2hvdWxkRm9yd2FyZFdoZWVsRXZlbnRzVG9QYXJlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7CiAgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGZpbmFsOwogCiAgICAgdm9pZCBoYW5kbGVXaGVl
bEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UpIGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDM4OWNiZDZl
ZGViMThhNjAzMzRjZjMzMWZhMWE0ODg5MjdjYTg2NGQuLmFiOGI3Zjc2M2M1YmYxZWEzNTEzNzJh
NGJmMDhhMDkzMmE3YzFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTUxLDIyICs1MSw2IEBAIFNjcm9sbEFuaW1hdG9yTWFj
OjpTY3JvbGxBbmltYXRvck1hYyhTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCiAKIFNj
cm9sbEFuaW1hdG9yTWFjOjp+U2Nyb2xsQW5pbWF0b3JNYWMoKSA9IGRlZmF1bHQ7CiAKLXN0YXRp
YyBib29sIHJ1YmJlckJhbmRpbmdFbmFibGVkRm9yU3lzdGVtKCkKLXsKLSAgICBzdGF0aWMgYm9v
bCBpbml0aWFsaXplZCA9IGZhbHNlOwotICAgIHN0YXRpYyBib29sIGVuYWJsZWQgPSB0cnVlOwot
ICAgIC8vIENhY2hlcyB0aGUgcmVzdWx0LCB3aGljaCBpcyBjb25zaXN0ZW50IHdpdGggb3RoZXIg
YXBwcyBsaWtlIHRoZSBGaW5kZXIsIHdoaWNoIGFsbAotICAgIC8vIHJlcXVpcmUgYSByZXN0YXJ0
IGFmdGVyIGNoYW5naW5nIHRoaXMgZGVmYXVsdC4KLSAgICBpZiAoIWluaXRpYWxpemVkKSB7Ci0g
ICAgICAgIC8vIFVzZXMgLW9iamVjdEZvcktleTogYW5kIG5vdCAtYm9vbEZvcktleTogaW4gb3Jk
ZXIgdG8gZGVmYXVsdCB0byB0cnVlIGlmIHRoZSB2YWx1ZSB3YXNuJ3Qgc2V0LgotICAgICAgICBp
ZCB2YWx1ZSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZv
cktleTpAIk5TU2Nyb2xsVmlld1J1YmJlcmJhbmRpbmciXTsKLSAgICAgICAgaWYgKFt2YWx1ZSBp
c0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKQotICAgICAgICAgICAgZW5hYmxlZCA9IFt2
YWx1ZSBib29sVmFsdWVdOwotICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7Ci0gICAgfQotICAg
IHJldHVybiBlbmFibGVkOwotfQotCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjppc1J1YmJlckJh
bmRJblByb2dyZXNzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zY3JvbGxDb250cm9sbGVyLmlz
UnViYmVyQmFuZEluUHJvZ3Jlc3MoKTsKQEAgLTg1LDM3ICs2OSwyMSBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2Ug
cGhhc2UpCiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsYmFyc0NvbnRyb2xsZXIoKS5t
YXlCZWdpblNjcm9sbEdlc3R1cmUoKTsKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2hv
dWxkRm9yd2FyZFdoZWVsRXZlbnRzVG9QYXJlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3
aGVlbEV2ZW50KSBjb25zdAotewotICAgIGlmIChzdGQ6OmFicyh3aGVlbEV2ZW50LmRlbHRhWSgp
KSA+PSBzdGQ6OmFicyh3aGVlbEV2ZW50LmRlbHRhWCgpKSkKLSAgICAgICAgcmV0dXJuICFhbGxv
d3NWZXJ0aWNhbFN0cmV0Y2hpbmcod2hlZWxFdmVudCk7Ci0KLSAgICByZXR1cm4gIWFsbG93c0hv
cml6b250YWxTdHJldGNoaW5nKHdoZWVsRXZlbnQpOwotfQotICAgIAogYm9vbCBTY3JvbGxBbmlt
YXRvck1hYzo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVs
RXZlbnQpCiB7CiAgICAgbV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxiYXJzQ29udHJvbGxlcigpLnNl
dFNjcm9sbGJhckFuaW1hdGlvbnNVbnN1c3BlbmRlZEJ5VXNlckludGVyYWN0aW9uKHRydWUpOwot
Ci0gICAgaWYgKCF3aGVlbEV2ZW50Lmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSB8fCAhcnVi
YmVyQmFuZGluZ0VuYWJsZWRGb3JTeXN0ZW0oKSkKLSAgICAgICAgcmV0dXJuIFNjcm9sbEFuaW1h
dG9yOjpoYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwotCiAgICAgbV9zY3JvbGxDb250cm9s
bGVyLnVwZGF0ZUdlc3R1cmVJblByb2dyZXNzU3RhdGUod2hlZWxFdmVudCk7CiAKLSAgICAvLyBG
SVhNRTogVGhpcyBpcyBzb21ld2hhdCByb3VuZGFib3V0IGhhY2sgdG8gYWxsb3cgZm9yd2FyZGlu
ZyB3aGVlbCBldmVudHMKLSAgICAvLyB1cCB0byB0aGUgcGFyZW50IHNjcm9sbGFibGUgYXJlYS4g
SXQgdGFrZXMgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQKLSAgICAvLyB0aGUgYmFzZSBjbGFz
cyBpbXBsZW1lbnRhdGlvbiBvZiBoYW5kbGVXaGVlbEV2ZW50IHdpbGwgbm90IGFjY2VwdCB0aGUK
LSAgICAvLyB3aGVlbCBldmVudCBpZiB0aGVyZSBpcyBub3doZXJlIHRvIHNjcm9sbC4KLSAgICBp
ZiAoc2hvdWxkRm9yd2FyZFdoZWVsRXZlbnRzVG9QYXJlbnQod2hlZWxFdmVudCkpIHsKLSAgICAg
ICAgYm9vbCBkaWRIYW5kbGVFdmVudCA9IFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50
KHdoZWVsRXZlbnQpOwotICAgICAgICBpZiAoZGlkSGFuZGxlRXZlbnQgfHwgKCF3aGVlbEV2ZW50
LmRlbHRhWCgpICYmICF3aGVlbEV2ZW50LmRlbHRhWSgpKSkKLSAgICAgICAgICAgIGhhbmRsZVdo
ZWVsRXZlbnRQaGFzZSh3aGVlbEV2ZW50LnBoYXNlKCkpOwotICAgICAgICByZXR1cm4gZGlkSGFu
ZGxlRXZlbnQ7Ci0gICAgfQotCi0gICAgYm9vbCBkaWRIYW5kbGVFdmVudCA9IG1fc2Nyb2xsQ29u
dHJvbGxlci5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOworICAgIC8vIEV2ZW50cyBpbiB0
aGUgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2luIHBoYXNlIGhhdmUgbm8gZGVsdGFz
LCBhbmQgdGhlcmVmb3JlIG5ldmVyIHBhc3NlcyB0aHJvdWdoIHRoZSBzY3JvbGwgaGFuZGxpbmcg
bG9naWMgYmVsb3cuCisgICAgLy8gVGhpcyBjYXVzZXMgdXMgdG8gcmV0dXJuIHdpdGggYW4gJ3Vu
aGFuZGxlZCcgcmV0dXJuIHN0YXRlLCBldmVuIHRob3VnaCB0aGlzIGV2ZW50IHdhcyBzdWNjZXNz
ZnVsbHkgcHJvY2Vzc2VkLgorICAgIC8vCisgICAgLy8gV2UgcmVjZWl2ZSBhdCBsZWFzdCBvbmUg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2luIHdoZW4gc3RhcnRpbmcgbWFpbi10aHJl
YWQgc2Nyb2xsaW5nIChzZWUgRnJhbWVWaWV3Ojp3aGVlbEV2ZW50KSwgd2hpY2ggY2FuCisgICAg
Ly8gZm9vbCB0aGUgc2Nyb2xsaW5nIHRocmVhZCBpbnRvIGF0dGVtcHRpbmcgdG8gaGFuZGxlIHRo
ZSBzY3JvbGwsIHVubGVzcyB3ZSB0cmVhdCB0aGUgZXZlbnQgYXMgaGFuZGxlZCBoZXJlLgorICAg
IGlmICh3aGVlbEV2ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJl
Z2luKQorICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChkaWRIYW5kbGVFdmVudCkKKyAg
ICBib29sIGRpZEhhbmRsZUV2ZW50ID0gU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQo
d2hlZWxFdmVudCk7CisgICAgaWYgKGRpZEhhbmRsZUV2ZW50IHx8IHdoZWVsRXZlbnQuZGVsdGEo
KS5pc1plcm8oKSkKICAgICAgICAgaGFuZGxlV2hlZWxFdmVudFBoYXNlKHdoZWVsRXZlbnQucGhh
c2UoKSk7CiAKICAgICByZXR1cm4gZGlkSGFuZGxlRXZlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KaW5k
ZXggZDI0NDgyOTdiNTIzYzZmOWMwYTY4YzFjMzc3MTNkNjRmOTllY2Y2Ny4uNTNhNTYwNzBkYmVm
Zjc5ZmM3MjUwYjQ2NmY3OTEwZTFjZWE0ZWU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQpAQCAtMTc0
LDggKzE3NCwxMSBAQCBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVXaGVl
bEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQogICAgIC8vIFJlc2V0IHVuYXBw
bGllZCBvdmVyc2Nyb2xsIGJlY2F1c2Ugd2UgbWF5IGRlY2lkZSB0byByZW1vdmUgZGVsdGEgYXQg
dmFyaW91cyBwb2ludHMgYW5kIHB1dCBpdCBpbnRvIHRoaXMgdmFsdWUuCiAgICAgYXV0byBkZWx0
YSA9IHN0ZDo6ZXhjaGFuZ2UobV91bmFwcGxpZWRPdmVyc2Nyb2xsRGVsdGEsIHsgfSk7CiAgICAg
ZGVsdGEgKz0gZXZlbnREZWx0YTsKLSAgICAvLyBGSVhNRTogVGhpcyByZXBsaWNhdGVzIHdoYXQg
V2hlZWxFdmVudERlbHRhRmlsdGVyIGRvZXMuIFdlIHNob3VsZCBhcHBseSB0aGF0IHRvIGV2ZW50
cyBpbiBhbGwgcGhhc2VzLCBhbmQgcmVtb3ZlIGF4aXMgbG9ja2luZyBoZXJlICh3ZWJraXQub3Jn
L2IvMjMxMjA3KS4KLSAgICBkZWx0YSA9IGRlbHRhQWxpZ25lZFRvRG9taW5hbnRBeGlzKGRlbHRh
KTsKKworICAgIGlmICh3aGVlbEV2ZW50LmlzR2VzdHVyZUV2ZW50KCkpIHsKKyAgICAgICAgLy8g
RklYTUU6IFRoaXMgcmVwbGljYXRlcyB3aGF0IFdoZWVsRXZlbnREZWx0YUZpbHRlciBkb2VzLiBX
ZSBzaG91bGQgYXBwbHkgdGhhdCB0byBldmVudHMgaW4gYWxsIHBoYXNlcywgYW5kIHJlbW92ZSBh
eGlzIGxvY2tpbmcgaGVyZSAod2Via2l0Lm9yZy9iLzIzMTIwNykuCisgICAgICAgIGRlbHRhID0g
ZGVsdGFBbGlnbmVkVG9Eb21pbmFudEF4aXMoZGVsdGEpOworICAgIH0KIAogICAgIGF1dG8gbW9t
ZW50dW1QaGFzZSA9IHdoZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpOwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggYzY3MDlhM2MyZjJkZDE0ODk1N2Q0
NzRlNGYxZDI1OGFkY2VmM2NhZS4uZDc0OGQwZjg0OTA0NDliYzhjNmZiMTRhOTZjYWZmOGU4MmU2
YzA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xMTEs
NiArMTExLDggQEAgcHJpdmF0ZToKICAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RS
ZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25J
bkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0
QWN0aW9uKSBvdmVycmlkZTsKIAogICAgIC8vIFNjcm9sbGFibGVBcmVhIGludGVyZmFjZS4KKyAg
ICBib29sIGhhc1N0ZXBwZWRTY3JvbGxpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CisKICAgICB2b2lkIHNldFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmKSBmaW5hbDsK
IAogICAgIFNjcm9sbFBvc2l0aW9uIHNjcm9sbFBvc2l0aW9uKCkgY29uc3QgZmluYWw7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZjViZTdiNmJhYmU5YjVhNzVhYTI5MTE4NTQ5MDE3ZGY3NzYyZjNkNS4uMjY2NGRlMmVhMjBm
Y2JmYTU5NDg2YmFkNDU1MTk2ZDVlYTVmYWM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIx
LTEyLTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFNoYXJlIG1hY09TIGNvZGUgYmV0d2VlbiBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVu
dCgpIGFuZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudCgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEyMzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczMvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtd2hlZWwtZXZlbnQuaHRtbDogV2UgbmVlZCB0byBzY3JvbGwg
MyBjbGlja3MgdG8gZ2V0IGNsb3NlciB0byB0aGUgdGFyZ2V0IHNuYXAgcG9pbnQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9sYXRjaGluZy9sYXRjaGluZy1hbmQt
d2hlZWwtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmViYXNlIGFscmVhZHktZmFpbGluZworICAgICAg
ICByZXN1bHQgKGJlY2F1c2UgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmhhbmRsZVdoZWVs
RXZlbnQoKSBkb2Vzbid0IHNjcm9sbCBvbiB0aGUgImJlZ2luIiBldmVudCkuCisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9sYXRjaGluZy9vdmVyZmxvdy1pbi1pZnJh
bWUtbGF0Y2hpbmctZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2sxL2Zhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nL3Njcm9sbC1zbmFwLWxhdGNoaW5nLWV4cGVjdGVk
LnR4dDogRGl0dG8uCisKIDIwMjEtMTItMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LXdoZWVsLWV2ZW50Lmh0bWwgdG8gdXNlIG1vbml0b3JXaGVlbEV2ZW50cygpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXdoZWVsLWV2ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXdoZWVsLWV2ZW50
Lmh0bWwKaW5kZXggMjc2OTYzNDRmNzliNjcwYmM2MmVkNGE1MDlkNDJhZjc5OWQyMjliYy4uYmNi
NjBjYjBiYWY4MTAyYWFkNjhkYmUwNzI0Y2I1ZGZjZTFiY2Y3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC13aGVlbC1ldmVudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtd2hlZWwtZXZlbnQuaHRt
bApAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDgwLCAxOTApOwogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKIAot
ICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnN0YXRlbGVzc01vdXNlV2hlZWxTY3JvbGxB
dCg4MCwgMTkwLCAtMSwgMCk7CisgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuc3RhdGVs
ZXNzTW91c2VXaGVlbFNjcm9sbEF0KDgwLCAxOTAsIC0zLCAwKTsKIAogICAgICAgICAgICAgICAg
IGxldCBob3Jpem9udGFsQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvcml6
b250YWwtY29udGFpbmVyIik7CiAgICAgICAgICAgICAgICAgZXhwZWN0VHJ1ZShob3Jpem9udGFs
Q29udGFpbmVyLnNjcm9sbExlZnQgPT0gMjAwLCAiaG9yaXpvbnRhbCBtb3VzZSB3aGVlbCBldmVu
dCBzbmFwcGVkIik7CkBAIC00OCw3ICs0OCw3IEBACiAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oMTkwLCAyNzApOwogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKIAotICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLnN0YXRlbGVzc01vdXNl
V2hlZWxTY3JvbGxBdCgxOTAsIDI3MCwgMCwgLTEpOworICAgICAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLnN0YXRlbGVzc01vdXNlV2hlZWxTY3JvbGxBdCgxOTAsIDI3MCwgMCwgLTMpOwogCiAg
ICAgICAgICAgICAgICAgbGV0IHZlcnRpY2FsQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInZlcnRpY2FsLWNvbnRhaW5lciIpOwogICAgICAgICAgICAgICAgIGV4cGVjdFRydWUo
dmVydGljYWxDb250YWluZXIuc2Nyb2xsVG9wID09IDE4NSwgInZlcnRpY2FsIG1vdXNlIHdoZWVs
IGV2ZW50IHNuYXBwZWQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcvbGF0Y2hpbmctYW5kLXdoZWVsLWV2ZW50cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL2xh
dGNoaW5nL2xhdGNoaW5nLWFuZC13aGVlbC1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IGY5ZTZm
Y2UwMmE0OGVjM2ZmNzY5M2RmMjEzY2FlMDJhZDI4ODJhNGQuLjczYmMwNDc5ZDlmZDAzNDE1NjJj
YTdhMDdkMWZhODBkNTIyN2U4NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcvbGF0Y2hpbmctYW5kLXdoZWVsLWV2ZW50cy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9s
bGluZy9sYXRjaGluZy9sYXRjaGluZy1hbmQtd2hlZWwtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAt
MTMsNyArMTMsNyBAQCBQQVNTIGlmcmFtZVdpbmRvd1doZWVsRXZlbnRDb3VudCBpcyAwCiBQQVNT
IG92ZXJmbG93SW5JZnJhbWVXaGVlbEV2ZW50Q291bnQgaXMgMAogQWZ0ZXIgc2Nyb2xsCiBGQUlM
IGlmcmFtZVRhcmdldC5jb250ZW50V2luZG93LnBhZ2VZT2Zmc2V0IHNob3VsZCBiZSAwLiBXYXMg
MTAwLgotRkFJTCBvdmVyZmxvd0luSWZyYW1lRWxlbWVudC5zY3JvbGxUb3Agc2hvdWxkIGJlIDAu
IFdhcyAyMTAuCitGQUlMIG92ZXJmbG93SW5JZnJhbWVFbGVtZW50LnNjcm9sbFRvcCBzaG91bGQg
YmUgMC4gV2FzIDIwMC4KIFBBU1Mgd2luZG93LnBhZ2VZT2Zmc2V0IGlzIDIwCiBQQVNTIG1haW5G
cmFtZVdoZWVsRXZlbnRDb3VudCBpcyAwCiBGQUlMIGlmcmFtZVdpbmRvd1doZWVsRXZlbnRDb3Vu
dCBzaG91bGQgYmUgMi4gV2FzIDMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nL292ZXJmbG93LWluLWlmcmFtZS1sYXRjaGlu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xs
aW5nL2xhdGNoaW5nL292ZXJmbG93LWluLWlmcmFtZS1sYXRjaGluZy1leHBlY3RlZC50eHQKaW5k
ZXggODdlYjIwMzZhMGI5YWVhODJiNjcxODBkMGQ2NTE4N2VlYWRhYjJlYS4uNDE4NTQwNmJjNTEy
MjQ1Nzk5MDFmMDA4NzUzY2JjYTM5ODVjYmI2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9mYXN0L3Njcm9sbGluZy9sYXRjaGluZy9vdmVyZmxvdy1pbi1pZnJhbWUt
bGF0Y2hpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
ZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcvb3ZlcmZsb3ctaW4taWZyYW1lLWxhdGNoaW5nLWV4cGVj
dGVkLnR4dApAQCAtOSw3ICs5LDcgQEAgUEFTUyBvdmVyZmxvd0luSWZyYW1lRWxlbWVudC5zY3Jv
bGxUb3AgaXMgMAogUEFTUyB3aW5kb3cucGFnZVlPZmZzZXQgaXMgMjAKIEFmdGVyIHNjcm9sbAog
RkFJTCBpZnJhbWVUYXJnZXQuY29udGVudFdpbmRvdy5wYWdlWU9mZnNldCBzaG91bGQgYmUgMC4g
V2FzIDEwMC4KLUZBSUwgb3ZlcmZsb3dJbklmcmFtZUVsZW1lbnQuc2Nyb2xsVG9wIHNob3VsZCBi
ZSAwLiBXYXMgMjEwLgorRkFJTCBvdmVyZmxvd0luSWZyYW1lRWxlbWVudC5zY3JvbGxUb3Agc2hv
dWxkIGJlIDAuIFdhcyAyMDAuCiBQQVNTIHdpbmRvdy5wYWdlWU9mZnNldCBpcyAyMAogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2Zhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nL3Njcm9sbC1zbmFwLWxhdGNoaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9zY3JvbGxp
bmcvbGF0Y2hpbmcvc2Nyb2xsLXNuYXAtbGF0Y2hpbmctZXhwZWN0ZWQudHh0CmluZGV4IDFlNjRm
NzlkYTE3NzRmNDRkOWMwYTNhZmFmM2U3YmEyZWYwNzQxNTAuLjkwZDhkNjA0ZjdiMzEwMGY3YjAw
OTYyNzRmODI3MTU2MDQ0ZjdkYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcvc2Nyb2xsLXNuYXAtbGF0Y2hpbmctZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvZmFzdC9zY3JvbGxpbmcv
bGF0Y2hpbmcvc2Nyb2xsLXNuYXAtbGF0Y2hpbmctZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1Mgb3ZlcmZsb3dTY3JvbGxFdmVudENv
dW50ID4gMCBpcyB0cnVlCi1GQUlMIHdpbmRvd1Njcm9sbEV2ZW50Q291bnQgc2hvdWxkIGJlIDAu
IFdhcyAxMS4KK0ZBSUwgd2luZG93U2Nyb2xsRXZlbnRDb3VudCBzaG91bGQgYmUgMC4gV2FzIDcu
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
</data>
<flag name="review"
          id="473579"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>