<?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>87693</bug_id>
          
          <creation_ts>2012-05-28 22:14:10 -0700</creation_ts>
          <short_desc>[GStreamer] Video sink doesn&apos;t respect WebKit code style</short_desc>
          <delta_ts>2012-05-29 09:28:07 -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>WebKitGTK</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin+threading</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>635572</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-28 22:14:10 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635575</commentid>
    <comment_count>1</comment_count>
      <attachid>144444</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-28 22:16:43 -0700</bug_when>
    <thetext>Created attachment 144444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635578</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 22:20:15 -0700</bug_when>
    <thetext>Attachment 144444 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.h:59:  webkit_video_sink_get_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635849</commentid>
    <comment_count>3</comment_count>
      <attachid>144444</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-05-29 04:11:59 -0700</bug_when>
    <thetext>Comment on attachment 144444
Patch

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

Other that the comment rs=me

&gt; Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:42
&gt; +static GstStaticPadTemplate sinkTemplate = GST_STATIC_PAD_TEMPLATE(&quot;sink&quot;, GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(WEBKIT_VIDEO_SINK_PAD_CAPS));

The static variable should start with s_ isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636098</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-29 09:20:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 144444 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144444&amp;action=review
&gt; 
&gt; Other that the comment rs=me
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:42
&gt; &gt; +static GstStaticPadTemplate sinkTemplate = GST_STATIC_PAD_TEMPLATE(&quot;sink&quot;, GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(WEBKIT_VIDEO_SINK_PAD_CAPS));
&gt; 
&gt; The static variable should start with s_ isn&apos;t it?

Ah yes indeed. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636106</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-29 09:28:07 -0700</bug_when>
    <thetext>Committed r118789: &lt;http://trac.webkit.org/changeset/118789&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144444</attachid>
            <date>2012-05-28 22:16:43 -0700</date>
            <delta_ts>2012-05-29 04:11:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87693-20120528221642.patch</filename>
            <type>text/plain</type>
            <size>25734</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU3ZDc4MDFhNzYwY2Mw
ODM5YWNmNzk1ZDZlZTcxNjcwOTNiNTFjNi4uODQzYTQ2OTZjOGRkNGUzYWNlMDVjYTA0NjI2NjQ2
MTVmNjZhMWEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTI4ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBWaWRlbyBzaW5rIGRvZXNuJ3QgcmVzcGVjdCBXZWJLaXQgY29kZSBzdHlsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc2OTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZp
b3Igb2YgdGhlIHNpbmssIHRoaXMgcGF0Y2ggb25seSBhZGFwdHMgdGhlIGNvZGUKKyAgICAgICAg
c3R5bGUgdG8gV2ViS2l0J3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKF9XZWJL
aXRWaWRlb1NpbmtQcml2YXRlKToKKyAgICAgICAgKHdlYmtpdFZpZGVvU2lua1RpbWVvdXRDYWxs
YmFjayk6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtSZW5kZXIpOgorICAgICAgICAod2Via2l0
VmlkZW9TaW5rRGlzcG9zZSk6CisgICAgICAgICh1bmxvY2tCdWZmZXJNdXRleCk6CisgICAgICAg
ICh3ZWJraXRWaWRlb1NpbmtVbmxvY2spOgorICAgICAgICAod2Via2l0VmlkZW9TaW5rVW5sb2Nr
U3RvcCk6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtTdG9wKToKKyAgICAgICAgKHdlYmtpdFZp
ZGVvU2lua1N0YXJ0KToKKyAgICAgICAgKHdlYmtpdFZpZGVvU2lua01hcnNoYWxWb2lkQW5kTWlu
aU9iamVjdCk6CisgICAgICAgICh3ZWJraXRfdmlkZW9fc2lua19jbGFzc19pbml0KToKKyAgICAg
ICAgKHdlYmtpdFZpZGVvU2lua05ldyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5oOgorICAgICAgICAoX1dlYktpdFZpZGVvU2luayk6
CisgICAgICAgIChfV2ViS2l0VmlkZW9TaW5rQ2xhc3MpOgorCiAyMDEyLTA1LTI4ICBKb25hdGhh
biBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIGh0dHAgYXV0aGVudGljYXRlIGRpYWxvZyBwb3B1cCBvbmx5IG9uY2Ugbm8gbWF0
dGVyIGF1dGhlbnRpY2F0aW9uIHBhc3Mgb3IgZmFpbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZDg0YzA5NzIxY2ExMGM3OGNmZmEwYTk4
NDUzMDdkNTk3MTM5NTlmLi41NzU3YTI3NDMxZDQzNmE4NGNmY2JmNTY3YmE2NTM5ZGE2OGZjNzdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMTY3NCw3ICsxNjc0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNy
ZWF0ZUdTVFBsYXlCaW4oKQogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5QmluLCAidmlkZW8t
Y2hhbmdlZCIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlVmlkZW9DaGFuZ2VkQ2FsbGJh
Y2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxheUJpbiwgImF1ZGlvLWNoYW5n
ZWQiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZUF1ZGlvQ2hhbmdlZENhbGxiYWNrKSwg
dGhpcyk7CiAKLSAgICBtX3dlYmtpdFZpZGVvU2luayA9IHdlYmtpdF92aWRlb19zaW5rX25ldyht
X2dzdEdXb3JsZC5nZXQoKSk7CisgICAgbV93ZWJraXRWaWRlb1NpbmsgPSB3ZWJraXRWaWRlb1Np
bmtOZXcobV9nc3RHV29ybGQuZ2V0KCkpOwogCiAgICAgZ19zaWduYWxfY29ubmVjdChtX3dlYmtp
dFZpZGVvU2luaywgInJlcGFpbnQtcmVxdWVzdGVkIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclBy
aXZhdGVSZXBhaW50Q2FsbGJhY2spLCB0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVh
bWVyLmNwcAppbmRleCA0MzYzMDM2NjJiMjBiNmFhOGI4MTE1NjgzMjY0ZDY3ZjhiNzdkNGZjLi40
ODQ5N2Q5NzUzNDE1NGM2MWNkMTE5ZDE4NjE0ODQzNTY0MGJkYTFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChD
KSAyMDA3IE9wZW5lZEhhbmQKICAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBA
YXRva2VyLmNvbT4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIgSWdh
bGlhIFMuTAogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTcsMzYgKzE4LDMyIEBACiAgKiAgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN
QSAgMDIxMTAtMTMwMSAgVVNBCiAgKi8KIAotLyoqCi0gKiBTRUNUSU9OOndlYmtpdC12aWRlby1z
aW5rCi0gKiBAc2hvcnRfZGVzY3JpcHRpb246IEdTdHJlYW1lciB2aWRlbyBzaW5rCisvKgogICoK
LSAqICNXZWJLaXRWaWRlb1NpbmsgaXMgYSBHU3RyZWFtZXIgc2luayBlbGVtZW50IHRoYXQgdHJp
Z2dlcnMKKyAqIFdlYktpdFZpZGVvU2luayBpcyBhIEdTdHJlYW1lciBzaW5rIGVsZW1lbnQgdGhh
dCB0cmlnZ2VycwogICogcmVwYWludHMgaW4gdGhlIFdlYktpdCBHU3RyZWFtZXIgbWVkaWEgcGxh
eWVyIGZvciB0aGUKICAqIGN1cnJlbnQgdmlkZW8gYnVmZmVyLgogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKyNpZiBVU0UoR1NUUkVBTUVSKQogI2luY2x1ZGUgIlZpZGVvU2lua0dTdHJlYW1l
ci5oIgotI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEdTVFJFQU1FUikKIAogI2luY2x1ZGUgPGds
aWIuaD4KICNpbmNsdWRlIDxnc3QvZ3N0Lmg+Ci0jaW5jbHVkZSA8Z3N0L3ZpZGVvL3ZpZGVvLmg+
CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAotc3RhdGljIEdzdFN0YXRpY1BhZFRl
bXBsYXRlIHNpbmt0ZW1wbGF0ZSA9IEdTVF9TVEFUSUNfUEFEX1RFTVBMQVRFKCJzaW5rIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHU1RfUEFEX1NJTkssIEdTVF9QQURfQUxXQVlTLAogLy8gQ0FJUk9fRk9STUFUX1JH
QjI0IHVzZWQgdG8gcmVuZGVyIHRoZSB2aWRlbyBidWZmZXJzIGlzIGxpdHRsZS9iaWcgZW5kaWFu
IGRlcGVuZGFudC4KICNpZiBHX0JZVEVfT1JERVIgPT0gR19MSVRUTEVfRU5ESUFOCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR1NUX1NUQVRJQ19DQVBTKEdTVF9WSURFT19DQVBTX0JHUnggIjsiIEdTVF9WSURFT19DQVBT
X0JHUkEpCisjZGVmaW5lIFdFQktJVF9WSURFT19TSU5LX1BBRF9DQVBTIEdTVF9WSURFT19DQVBT
X0JHUnggIjsiIEdTVF9WSURFT19DQVBTX0JHUkEKICNlbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NUX1NUQVRJ
Q19DQVBTKEdTVF9WSURFT19DQVBTX3hSR0IgIjsiIEdTVF9WSURFT19DQVBTX0FSR0IpCisjZGVm
aW5lIFdFQktJVF9WSURFT19TSU5LX1BBRF9DQVBTIEdTVF9WSURFT19DQVBTX3hSR0IgIjsiIEdT
VF9WSURFT19DQVBTX0FSR0IKICNlbmRpZgotKTsKK3N0YXRpYyBHc3RTdGF0aWNQYWRUZW1wbGF0
ZSBzaW5rVGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgic2luayIsIEdTVF9QQURf
U0lOSywgR1NUX1BBRF9BTFdBWVMsIEdTVF9TVEFUSUNfQ0FQUyhXRUJLSVRfVklERU9fU0lOS19Q
QURfQ0FQUykpOworCiAKLUdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMod2Via2l0X3ZpZGVvX3Np
bmtfZGVidWcpOwotI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0X3ZpZGVvX3NpbmtfZGVi
dWcKK0dTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMod2Via2l0VmlkZW9TaW5rRGVidWcpOworI2Rl
ZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0VmlkZW9TaW5rRGVidWcKIAogZW51bSB7CiAgICAg
UkVQQUlOVF9SRVFVRVNURUQsCkBAIC01NywxMyArNTQsMTQgQEAgZW51bSB7CiAgICAgUFJPUF8w
CiB9OwogCi1zdGF0aWMgZ3VpbnQgd2Via2l0X3ZpZGVvX3Npbmtfc2lnbmFsc1tMQVNUX1NJR05B
TF0gPSB7IDAsIH07CitzdGF0aWMgZ3VpbnQgd2Via2l0VmlkZW9TaW5rU2lnbmFsc1tMQVNUX1NJ
R05BTF0gPSB7IDAsIH07CiAKIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSB7CiAgICAg
R3N0QnVmZmVyKiBidWZmZXI7Ci0gICAgZ3VpbnQgdGltZW91dF9pZDsKLSAgICBHTXV0ZXgqIGJ1
ZmZlcl9tdXRleDsKLSAgICBHQ29uZCogZGF0YV9jb25kOworICAgIGd1aW50IHRpbWVvdXRJZDsK
KyAgICBHTXV0ZXgqIGJ1ZmZlck11dGV4OworICAgIEdDb25kKiBkYXRhQ29uZGl0aW9uOworCiAg
ICAgV2ViQ29yZTo6R1N0cmVhbWVyR1dvcmxkKiBnc3RHV29ybGQ7CiAKICAgICAvLyBJZiB0aGlz
IGlzIFRSVUUgYWxsIHByb2Nlc3Npbmcgc2hvdWxkIGZpbmlzaCBBU0FQCkBAIC03NCw5MiArNzIs
NjcgQEAgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmtQcml2YXRlIHsKICAgICAvLyB0byBkZWFkbG9j
a3MgYmVjYXVzZSByZW5kZXIoKSBob2xkcyB0aGUgc3RyZWFtIGxvY2suCiAgICAgLy8KICAgICAv
LyBQcm90ZWN0ZWQgYnkgdGhlIGJ1ZmZlciBtdXRleAotICAgIGdib29sZWFuIHVubG9ja2VkOwor
ICAgIGJvb2wgdW5sb2NrZWQ7CiB9OwogCi0jZGVmaW5lIF9kb19pbml0KGJsYSkgXAotICAgIEdT
VF9ERUJVR19DQVRFR09SWV9JTklUKHdlYmtpdF92aWRlb19zaW5rX2RlYnVnLCBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIndlYmtpdHNpbmsiLCBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMCwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3ZWJraXQgdmlkZW8g
c2luayIpCisjZGVmaW5lIHdlYmtpdF92aWRlb19zaW5rX3BhcmVudF9jbGFzcyBwYXJlbnRfY2xh
c3MKK0dfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktpdFZpZGVvU2luaywgd2Via2l0X3ZpZGVv
X3NpbmssIEdTVF9UWVBFX1ZJREVPX1NJTkssIEdTVF9ERUJVR19DQVRFR09SWV9JTklUKHdlYmtp
dFZpZGVvU2lua0RlYnVnLCAid2Via2l0c2luayIsIDAsICJ3ZWJraXQgdmlkZW8gc2luayIpKTsK
IAotR1NUX0JPSUxFUlBMQVRFX0ZVTEwoV2ViS2l0VmlkZW9TaW5rLAotICAgICAgICAgICAgICAg
ICAgICAgd2Via2l0X3ZpZGVvX3NpbmssCi0gICAgICAgICAgICAgICAgICAgICBHc3RWaWRlb1Np
bmssCi0gICAgICAgICAgICAgICAgICAgICBHU1RfVFlQRV9WSURFT19TSU5LLAotICAgICAgICAg
ICAgICAgICAgICAgX2RvX2luaXQpOwogCi1zdGF0aWMgdm9pZAotd2Via2l0X3ZpZGVvX3Npbmtf
YmFzZV9pbml0KGdwb2ludGVyIGdfY2xhc3MpCitzdGF0aWMgdm9pZCB3ZWJraXRfdmlkZW9fc2lu
a19pbml0KFdlYktpdFZpZGVvU2luayogc2luaykKIHsKLSAgICBHc3RFbGVtZW50Q2xhc3MqIGVs
ZW1lbnRfY2xhc3MgPSBHU1RfRUxFTUVOVF9DTEFTUyhnX2NsYXNzKTsKLQotICAgIGdzdF9lbGVt
ZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoZWxlbWVudF9jbGFzcywgZ3N0X3N0YXRpY19wYWRf
dGVtcGxhdGVfZ2V0KCZzaW5rdGVtcGxhdGUpKTsKLSAgICBnc3RfZWxlbWVudF9jbGFzc19zZXRf
ZGV0YWlsc19zaW1wbGUoZWxlbWVudF9jbGFzcywgIldlYktpdCB2aWRlbyBzaW5rIiwKLSAgICAg
ICAgICAgICJTaW5rL1ZpZGVvIiwgIlNlbmRzIHZpZGVvIGRhdGEgZnJvbSBhIEdTdHJlYW1lciBw
aXBlbGluZSB0byBhIENhaXJvIHN1cmZhY2UiLAotICAgICAgICAgICAgIkFscCBUb2tlciA8YWxw
QGF0b2tlci5jb20+Iik7Ci19Ci0KLXN0YXRpYyB2b2lkCi13ZWJraXRfdmlkZW9fc2lua19pbml0
KFdlYktpdFZpZGVvU2luayogc2luaywgV2ViS2l0VmlkZW9TaW5rQ2xhc3MqIGtsYXNzKQotewot
ICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXY7Ci0KLSAgICBzaW5rLT5wcml2ID0gcHJp
diA9IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShzaW5rLCBXRUJLSVRfVFlQRV9WSURFT19T
SU5LLCBXZWJLaXRWaWRlb1NpbmtQcml2YXRlKTsKKyAgICBzaW5rLT5wcml2ID0gR19UWVBFX0lO
U1RBTkNFX0dFVF9QUklWQVRFKHNpbmssIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktpdFZp
ZGVvU2lua1ByaXZhdGUpOwogI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCAzMSwgMCkKLSAgICBw
cml2LT5kYXRhX2NvbmQgPSBXVEY6OmZhc3ROZXc8R0NvbmQ+KCk7Ci0gICAgZ19jb25kX2luaXQo
cHJpdi0+ZGF0YV9jb25kKTsKLSAgICBwcml2LT5idWZmZXJfbXV0ZXggPSBXVEY6OmZhc3ROZXc8
R011dGV4PigpOwotICAgIGdfbXV0ZXhfaW5pdChwcml2LT5idWZmZXJfbXV0ZXgpOworICAgIHNp
bmstPnByaXYtPmRhdGFDb25kaXRpb24gPSBXVEY6OmZhc3ROZXc8R0NvbmQ+KCk7CisgICAgZ19j
b25kX2luaXQoc2luay0+cHJpdi0+ZGF0YUNvbmRpdGlvbik7CisgICAgc2luay0+cHJpdi0+YnVm
ZmVyTXV0ZXggPSBXVEY6OmZhc3ROZXc8R011dGV4PigpOworICAgIGdfbXV0ZXhfaW5pdChzaW5r
LT5wcml2LT5idWZmZXJNdXRleCk7CiAjZWxzZQotICAgIHByaXYtPmRhdGFfY29uZCA9IGdfY29u
ZF9uZXcoKTsKLSAgICBwcml2LT5idWZmZXJfbXV0ZXggPSBnX211dGV4X25ldygpOworICAgIHNp
bmstPnByaXYtPmRhdGFDb25kaXRpb24gPSBnX2NvbmRfbmV3KCk7CisgICAgc2luay0+cHJpdi0+
YnVmZmVyTXV0ZXggPSBnX211dGV4X25ldygpOwogI2VuZGlmCiB9CiAKLXN0YXRpYyBnYm9vbGVh
bgotd2Via2l0X3ZpZGVvX3NpbmtfdGltZW91dF9mdW5jKGdwb2ludGVyIGRhdGEpCitzdGF0aWMg
Z2Jvb2xlYW4gd2Via2l0VmlkZW9TaW5rVGltZW91dENhbGxiYWNrKGdwb2ludGVyIGRhdGEpCiB7
CiAgICAgV2ViS2l0VmlkZW9TaW5rKiBzaW5rID0gcmVpbnRlcnByZXRfY2FzdDxXZWJLaXRWaWRl
b1NpbmsqPihkYXRhKTsKICAgICBXZWJLaXRWaWRlb1NpbmtQcml2YXRlKiBwcml2ID0gc2luay0+
cHJpdjsKLSAgICBHc3RCdWZmZXIqIGJ1ZmZlcjsKIAotICAgIGdfbXV0ZXhfbG9jayhwcml2LT5i
dWZmZXJfbXV0ZXgpOwotICAgIGJ1ZmZlciA9IHByaXYtPmJ1ZmZlcjsKKyAgICBnX211dGV4X2xv
Y2socHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIEdzdEJ1ZmZlciogYnVmZmVyID0gcHJpdi0+YnVm
ZmVyOwogICAgIHByaXYtPmJ1ZmZlciA9IDA7Ci0gICAgcHJpdi0+dGltZW91dF9pZCA9IDA7Cisg
ICAgcHJpdi0+dGltZW91dElkID0gMDsKIAotICAgIGlmICghYnVmZmVyIHx8IHByaXYtPnVubG9j
a2VkIHx8IEdfVU5MSUtFTFkoIUdTVF9JU19CVUZGRVIoYnVmZmVyKSkpIHsKLSAgICAgICAgZ19j
b25kX3NpZ25hbChwcml2LT5kYXRhX2NvbmQpOwotICAgICAgICBnX211dGV4X3VubG9jayhwcml2
LT5idWZmZXJfbXV0ZXgpOworICAgIGlmICghYnVmZmVyIHx8IHByaXYtPnVubG9ja2VkIHx8IFVO
TElLRUxZKCFHU1RfSVNfQlVGRkVSKGJ1ZmZlcikpKSB7CisgICAgICAgIGdfY29uZF9zaWduYWwo
cHJpdi0+ZGF0YUNvbmRpdGlvbik7CisgICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZl
ck11dGV4KTsKICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgIH0KIAotICAgIGdfc2lnbmFsX2Vt
aXQoc2luaywgd2Via2l0X3ZpZGVvX3Npbmtfc2lnbmFsc1tSRVBBSU5UX1JFUVVFU1RFRF0sIDAs
IGJ1ZmZlcik7CisgICAgZ19zaWduYWxfZW1pdChzaW5rLCB3ZWJraXRWaWRlb1NpbmtTaWduYWxz
W1JFUEFJTlRfUkVRVUVTVEVEXSwgMCwgYnVmZmVyKTsKICAgICBnc3RfYnVmZmVyX3VucmVmKGJ1
ZmZlcik7Ci0gICAgZ19jb25kX3NpZ25hbChwcml2LT5kYXRhX2NvbmQpOwotICAgIGdfbXV0ZXhf
dW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgZ19jb25kX3NpZ25hbChwcml2LT5kYXRh
Q29uZGl0aW9uKTsKKyAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJNdXRleCk7CiAKICAg
ICByZXR1cm4gRkFMU0U7CiB9CiAKLXN0YXRpYyBHc3RGbG93UmV0dXJuCi13ZWJraXRfdmlkZW9f
c2lua19yZW5kZXIoR3N0QmFzZVNpbmsqIGJzaW5rLCBHc3RCdWZmZXIqIGJ1ZmZlcikKK3N0YXRp
YyBHc3RGbG93UmV0dXJuIHdlYmtpdFZpZGVvU2lua1JlbmRlcihHc3RCYXNlU2luayogYmFzZVNp
bmssIEdzdEJ1ZmZlciogYnVmZmVyKQogewotICAgIFdlYktpdFZpZGVvU2luayogc2luayA9IFdF
QktJVF9WSURFT19TSU5LKGJzaW5rKTsKKyAgICBXZWJLaXRWaWRlb1NpbmsqIHNpbmsgPSBXRUJL
SVRfVklERU9fU0lOSyhiYXNlU2luayk7CiAgICAgV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSogcHJp
diA9IHNpbmstPnByaXY7CiAKLSAgICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyX211dGV4KTsK
KyAgICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyTXV0ZXgpOwogCiAgICAgaWYgKHByaXYtPnVu
bG9ja2VkKSB7Ci0gICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7Cisg
ICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKICAgICAgICAgcmV0dXJu
IEdTVF9GTE9XX09LOwogICAgIH0KIAogICAgIC8vIElnbm9yZSBidWZmZXJzIGlmIHRoZSB2aWRl
byBpcyBhbHJlYWR5IGluIGZ1bGxzY3JlZW4gdXNpbmcKICAgICAvLyBhbm90aGVyIHNpbmsuCiAg
ICAgaWYgKHByaXYtPmdzdEdXb3JsZC0+aXNGdWxsc2NyZWVuKCkpIHsKLSAgICAgICAgZ19tdXRl
eF91bmxvY2socHJpdi0+YnVmZmVyX211dGV4KTsKKyAgICAgICAgZ19tdXRleF91bmxvY2socHJp
di0+YnVmZmVyTXV0ZXgpOwogICAgICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiAgICAgfQogCkBA
IC0xNjcsMTcgKzE0MCwxNyBAQCB3ZWJraXRfdmlkZW9fc2lua19yZW5kZXIoR3N0QmFzZVNpbmsq
IGJzaW5rLCBHc3RCdWZmZXIqIGJ1ZmZlcikKIAogICAgIC8vIEZvciB0aGUgdW5saWtlbHkgY2Fz
ZSB3aGVyZSB0aGUgYnVmZmVyIGhhcyBubyBjYXBzLCB0aGUgY2FwcwogICAgIC8vIGFyZSBpbXBs
aWNpdGVseSB0aGUgY2FwcyBvZiB0aGUgcGFkLiBUaGlzIHNob3VsZG4ndCBoYXBwZW4uCi0gICAg
aWYgKEdfVU5MSUtFTFkoIUdTVF9CVUZGRVJfQ0FQUyhidWZmZXIpKSkgeworICAgIGlmIChVTkxJ
S0VMWSghR1NUX0JVRkZFUl9DQVBTKGJ1ZmZlcikpKSB7CiAgICAgICAgIGJ1ZmZlciA9IHByaXYt
PmJ1ZmZlciA9IGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZShwcml2LT5idWZmZXIp
OwotICAgICAgICBnc3RfYnVmZmVyX3NldF9jYXBzKHByaXYtPmJ1ZmZlciwgR1NUX1BBRF9DQVBT
KEdTVF9CQVNFX1NJTktfUEFEKGJzaW5rKSkpOworICAgICAgICBnc3RfYnVmZmVyX3NldF9jYXBz
KHByaXYtPmJ1ZmZlciwgR1NUX1BBRF9DQVBTKEdTVF9CQVNFX1NJTktfUEFEKGJhc2VTaW5rKSkp
OwogICAgIH0KIAotICAgIEdzdENhcHMgKmNhcHMgPSBHU1RfQlVGRkVSX0NBUFMoYnVmZmVyKTsK
KyAgICBHc3RDYXBzKiBjYXBzID0gR1NUX0JVRkZFUl9DQVBTKGJ1ZmZlcik7CiAgICAgR3N0Vmlk
ZW9Gb3JtYXQgZm9ybWF0OwogICAgIGludCB3aWR0aCwgaGVpZ2h0OwotICAgIGlmIChHX1VOTElL
RUxZKCFnc3RfdmlkZW9fZm9ybWF0X3BhcnNlX2NhcHMoY2FwcywgJmZvcm1hdCwgJndpZHRoLCAm
aGVpZ2h0KSkpIHsKKyAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRlb19mb3JtYXRfcGFyc2VfY2Fw
cyhjYXBzLCAmZm9ybWF0LCAmd2lkdGgsICZoZWlnaHQpKSkgewogICAgICAgICBnc3RfYnVmZmVy
X3VucmVmKGJ1ZmZlcik7Ci0gICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRl
eCk7CisgICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKICAgICAgICAg
cmV0dXJuIEdTVF9GTE9XX0VSUk9SOwogICAgIH0KIApAQCAtMTg3LDM2ICsxNjAsMzUgQEAgd2Vi
a2l0X3ZpZGVvX3NpbmtfcmVuZGVyKEdzdEJhc2VTaW5rKiBic2luaywgR3N0QnVmZmVyKiBidWZm
ZXIpCiAgICAgICAgIC8vIEJlY2F1c2UgR3N0QmFzZVNpbms6OnJlbmRlcigpIG9ubHkgb3ducyB0
aGUgYnVmZmVyIHJlZmVyZW5jZSBpbiB0aGUKICAgICAgICAgLy8gbWV0aG9kIHNjb3BlIHdlIGNh
bid0IHVzZSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBoZXJlLiBBbHNvCiAgICAgICAgIC8v
IFRoZSBidWZmZXIgY29udGVudCBzaG91bGQgbm90IGJlIGNoYW5nZWQgaGVyZSBiZWNhdXNlIHRo
ZSBzYW1lIGJ1ZmZlcgotICAgICAgICAvLyBjb3VsZCBiZSBwYXNzZWQgbXVsdGlwbGUgdGltZXMg
dG8gdGhpcyBtZXRob2QgKGluIHRoZW9yeSkKLSAgICAgICAgR3N0QnVmZmVyICpuZXdCdWZmZXIg
PSBnc3RfYnVmZmVyX3RyeV9uZXdfYW5kX2FsbG9jKEdTVF9CVUZGRVJfU0laRShidWZmZXIpKTsK
KyAgICAgICAgLy8gY291bGQgYmUgcGFzc2VkIG11bHRpcGxlIHRpbWVzIHRvIHRoaXMgbWV0aG9k
IChpbiB0aGVvcnkpLgorCisgICAgICAgIEdzdEJ1ZmZlciogbmV3QnVmZmVyID0gZ3N0X2J1ZmZl
cl90cnlfbmV3X2FuZF9hbGxvYyhHU1RfQlVGRkVSX1NJWkUoYnVmZmVyKSk7CiAKLSAgICAgICAg
Ly8gQ2hlY2sgaWYgYWxsb2NhdGlvbiBmYWlsZWQKLSAgICAgICAgaWYgKEdfVU5MSUtFTFkoIW5l
d0J1ZmZlcikpIHsKLSAgICAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYoYnVmZmVyKTsKLSAgICAg
ICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgICAgIC8vIENo
ZWNrIGlmIGFsbG9jYXRpb24gZmFpbGVkLgorICAgICAgICBpZiAoVU5MSUtFTFkoIW5ld0J1ZmZl
cikpIHsKKyAgICAgICAgICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKICAg
ICAgICAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKICAgICAgICAgfQogCi0gICAgICAgIGdz
dF9idWZmZXJfY29weV9tZXRhZGF0YShuZXdCdWZmZXIsIGJ1ZmZlciwgKEdzdEJ1ZmZlckNvcHlG
bGFncykgR1NUX0JVRkZFUl9DT1BZX0FMTCk7CisgICAgICAgIGdzdF9idWZmZXJfY29weV9tZXRh
ZGF0YShuZXdCdWZmZXIsIGJ1ZmZlciwgc3RhdGljX2Nhc3Q8R3N0QnVmZmVyQ29weUZsYWdzPihH
U1RfQlVGRkVSX0NPUFlfQUxMKSk7CiAKICAgICAgICAgLy8gV2UgZG9uJ3QgdXNlIENvbG9yOjpw
cmVtdWx0aXBsaWVkQVJHQkZyb21Db2xvcigpIGhlcmUgYmVjYXVzZQogICAgICAgICAvLyBvbmUg
ZnVuY3Rpb24gY2FsbCBwZXIgdmlkZW8gcGl4ZWwgaXMganVzdCB0b28gZXhwZW5zaXZlOgogICAg
ICAgICAvLyBGb3IgNzIwcC9QQUwgZm9yIGV4YW1wbGUgdGhpcyBtZWFucyAxMjgwKjcyMCoyNT0y
MzA0MDAwMAogICAgICAgICAvLyBmdW5jdGlvbiBjYWxscyBwZXIgc2Vjb25kIQotICAgICAgICB1
bnNpZ25lZCBzaG9ydCBhbHBoYTsKLSAgICAgICAgY29uc3QgZ3VpbnQ4ICpzb3VyY2UgPSBHU1Rf
QlVGRkVSX0RBVEEoYnVmZmVyKTsKLSAgICAgICAgZ3VpbnQ4ICpkZXN0aW5hdGlvbiA9IEdTVF9C
VUZGRVJfREFUQShuZXdCdWZmZXIpOworICAgICAgICBjb25zdCBndWludDgqIHNvdXJjZSA9IEdT
VF9CVUZGRVJfREFUQShidWZmZXIpOworICAgICAgICBndWludDgqIGRlc3RpbmF0aW9uID0gR1NU
X0JVRkZFUl9EQVRBKG5ld0J1ZmZlcik7CiAKICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBo
ZWlnaHQ7IHgrKykgewogICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCB3aWR0aDsgeSsr
KSB7CiAjaWYgR19CWVRFX09SREVSID09IEdfTElUVExFX0VORElBTgotICAgICAgICAgICAgICAg
IGFscGhhID0gc291cmNlWzNdOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNob3J0IGFscGhh
ID0gc291cmNlWzNdOwogICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uWzBdID0gKHNvdXJjZVsw
XSAqIGFscGhhICsgMTI4KSAvIDI1NTsKICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblsxXSA9
IChzb3VyY2VbMV0gKiBhbHBoYSArIDEyOCkgLyAyNTU7CiAgICAgICAgICAgICAgICAgZGVzdGlu
YXRpb25bMl0gPSAoc291cmNlWzJdICogYWxwaGEgKyAxMjgpIC8gMjU1OwogICAgICAgICAgICAg
ICAgIGRlc3RpbmF0aW9uWzNdID0gYWxwaGE7CiAjZWxzZQotICAgICAgICAgICAgICAgIGFscGhh
ID0gc291cmNlWzBdOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNob3J0IGFscGhhID0gc291
cmNlWzBdOwogICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uWzBdID0gYWxwaGE7CiAgICAgICAg
ICAgICAgICAgZGVzdGluYXRpb25bMV0gPSAoc291cmNlWzFdICogYWxwaGEgKyAxMjgpIC8gMjU1
OwogICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uWzJdID0gKHNvdXJjZVsyXSAqIGFscGhhICsg
MTI4KSAvIDI1NTsKQEAgLTIyNiw2ICsxOTgsNyBAQCB3ZWJraXRfdmlkZW9fc2lua19yZW5kZXIo
R3N0QmFzZVNpbmsqIGJzaW5rLCBHc3RCdWZmZXIqIGJ1ZmZlcikKICAgICAgICAgICAgICAgICBk
ZXN0aW5hdGlvbiArPSA0OwogICAgICAgICAgICAgfQogICAgICAgICB9CisKICAgICAgICAgZ3N0
X2J1ZmZlcl91bnJlZihidWZmZXIpOwogICAgICAgICBidWZmZXIgPSBwcml2LT5idWZmZXIgPSBu
ZXdCdWZmZXI7CiAgICAgfQpAQCAtMjMzLDE2NSArMjA2LDE1MSBAQCB3ZWJraXRfdmlkZW9fc2lu
a19yZW5kZXIoR3N0QmFzZVNpbmsqIGJzaW5rLCBHc3RCdWZmZXIqIGJ1ZmZlcikKICAgICAvLyBU
aGlzIHNob3VsZCBsaWtlbHkgdXNlIGEgbG93ZXIgcHJpb3JpdHksIGJ1dCBnbGliIGN1cnJlbnRs
eSBzdGFydmVzCiAgICAgLy8gbG93ZXIgcHJpb3JpdHkgc291cmNlcy4KICAgICAvLyBTZWU6IGh0
dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA4MzAuCi0gICAgcHJp
di0+dGltZW91dF9pZCA9IGdfdGltZW91dF9hZGRfZnVsbChHX1BSSU9SSVRZX0RFRkFVTFQsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRfdmlkZW9f
c2lua190aW1lb3V0X2Z1bmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnc3Rfb2JqZWN0X3JlZihzaW5rKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSlnc3Rfb2JqZWN0X3VucmVmKTsKKyAgICBwcml2
LT50aW1lb3V0SWQgPSBnX3RpbWVvdXRfYWRkX2Z1bGwoR19QUklPUklUWV9ERUZBVUxULCAwLCB3
ZWJraXRWaWRlb1NpbmtUaW1lb3V0Q2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnc3Rfb2JqZWN0X3JlZihzaW5rKSwgcmVpbnRlcnByZXRfY2FzdDxH
RGVzdHJveU5vdGlmeT4oZ3N0X29iamVjdF91bnJlZikpOwogCi0gICAgZ19jb25kX3dhaXQocHJp
di0+ZGF0YV9jb25kLCBwcml2LT5idWZmZXJfbXV0ZXgpOwotICAgIGdfbXV0ZXhfdW5sb2NrKHBy
aXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgZ19jb25kX3dhaXQocHJpdi0+ZGF0YUNvbmRpdGlvbiwg
cHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11dGV4
KTsKICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiB9CiAKLXN0YXRpYyB2b2lkCi13ZWJraXRfdmlk
ZW9fc2lua19kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKK3N0YXRpYyB2b2lkIHdlYmtpdFZpZGVv
U2lua0Rpc3Bvc2UoR09iamVjdCogb2JqZWN0KQogewogICAgIFdlYktpdFZpZGVvU2luayogc2lu
ayA9IFdFQktJVF9WSURFT19TSU5LKG9iamVjdCk7CiAgICAgV2ViS2l0VmlkZW9TaW5rUHJpdmF0
ZSogcHJpdiA9IHNpbmstPnByaXY7CiAKLSAgICBpZiAocHJpdi0+ZGF0YV9jb25kKSB7CisgICAg
aWYgKHByaXYtPmRhdGFDb25kaXRpb24pIHsKICNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgMzEs
IDApCi0gICAgICAgIGdfY29uZF9jbGVhcihwcml2LT5kYXRhX2NvbmQpOwotICAgICAgICBXVEY6
OmZhc3REZWxldGUocHJpdi0+ZGF0YV9jb25kKTsKKyAgICAgICAgZ19jb25kX2NsZWFyKHByaXYt
PmRhdGFDb25kaXRpb24pOworICAgICAgICBXVEY6OmZhc3REZWxldGUocHJpdi0+ZGF0YUNvbmRp
dGlvbik7CiAjZWxzZQotICAgICAgICBnX2NvbmRfZnJlZShwcml2LT5kYXRhX2NvbmQpOworICAg
ICAgICBnX2NvbmRfZnJlZShwcml2LT5kYXRhQ29uZGl0aW9uKTsKICNlbmRpZgotICAgICAgICBw
cml2LT5kYXRhX2NvbmQgPSAwOworICAgICAgICBwcml2LT5kYXRhQ29uZGl0aW9uID0gMDsKICAg
ICB9CiAKLSAgICBpZiAocHJpdi0+YnVmZmVyX211dGV4KSB7CisgICAgaWYgKHByaXYtPmJ1ZmZl
ck11dGV4KSB7CiAjaWYgR0xJQl9DSEVDS19WRVJTSU9OKDIsIDMxLCAwKQotICAgICAgICBnX211
dGV4X2NsZWFyKHByaXYtPmJ1ZmZlcl9tdXRleCk7Ci0gICAgICAgIFdURjo6ZmFzdERlbGV0ZShw
cml2LT5idWZmZXJfbXV0ZXgpOworICAgICAgICBnX211dGV4X2NsZWFyKHByaXYtPmJ1ZmZlck11
dGV4KTsKKyAgICAgICAgV1RGOjpmYXN0RGVsZXRlKHByaXYtPmJ1ZmZlck11dGV4KTsKICNlbHNl
Ci0gICAgICAgIGdfbXV0ZXhfZnJlZShwcml2LT5idWZmZXJfbXV0ZXgpOworICAgICAgICBnX211
dGV4X2ZyZWUocHJpdi0+YnVmZmVyTXV0ZXgpOwogI2VuZGlmCi0gICAgICAgIHByaXYtPmJ1ZmZl
cl9tdXRleCA9IDA7CisgICAgICAgIHByaXYtPmJ1ZmZlck11dGV4ID0gMDsKICAgICB9CiAKICAg
ICBHX09CSkVDVF9DTEFTUyhwYXJlbnRfY2xhc3MpLT5kaXNwb3NlKG9iamVjdCk7CiB9CiAKLXN0
YXRpYyB2b2lkCi11bmxvY2tfYnVmZmVyX211dGV4KFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHBy
aXYpCitzdGF0aWMgdm9pZCB1bmxvY2tCdWZmZXJNdXRleChXZWJLaXRWaWRlb1NpbmtQcml2YXRl
KiBwcml2KQogewotICAgIGdfbXV0ZXhfbG9jayhwcml2LT5idWZmZXJfbXV0ZXgpOworICAgIGdf
bXV0ZXhfbG9jayhwcml2LT5idWZmZXJNdXRleCk7CiAKICAgICBpZiAocHJpdi0+YnVmZmVyKSB7
CiAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYocHJpdi0+YnVmZmVyKTsKICAgICAgICAgcHJpdi0+
YnVmZmVyID0gMDsKICAgICB9CiAKLSAgICBwcml2LT51bmxvY2tlZCA9IFRSVUU7CisgICAgcHJp
di0+dW5sb2NrZWQgPSB0cnVlOwogCi0gICAgZ19jb25kX3NpZ25hbChwcml2LT5kYXRhX2NvbmQp
OwotICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgZ19jb25kX3Np
Z25hbChwcml2LT5kYXRhQ29uZGl0aW9uKTsKKyAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZm
ZXJNdXRleCk7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbgotd2Via2l0X3ZpZGVvX3NpbmtfdW5sb2Nr
KEdzdEJhc2VTaW5rKiBvYmplY3QpCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0VmlkZW9TaW5rVW5s
b2NrKEdzdEJhc2VTaW5rKiBiYXNlU2luaykKIHsKLSAgICBXZWJLaXRWaWRlb1NpbmsqIHNpbmsg
PSBXRUJLSVRfVklERU9fU0lOSyhvYmplY3QpOworICAgIFdlYktpdFZpZGVvU2luayogc2luayA9
IFdFQktJVF9WSURFT19TSU5LKGJhc2VTaW5rKTsKIAotICAgIHVubG9ja19idWZmZXJfbXV0ZXgo
c2luay0+cHJpdik7CisgICAgdW5sb2NrQnVmZmVyTXV0ZXgoc2luay0+cHJpdik7CiAKLSAgICBy
ZXR1cm4gR1NUX0NBTExfUEFSRU5UX1dJVEhfREVGQVVMVChHU1RfQkFTRV9TSU5LX0NMQVNTLCB1
bmxvY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9iamVjdCks
IFRSVUUpOworICAgIHJldHVybiBHU1RfQ0FMTF9QQVJFTlRfV0lUSF9ERUZBVUxUKEdTVF9CQVNF
X1NJTktfQ0xBU1MsIHVubG9jaywgKGJhc2VTaW5rKSwgVFJVRSk7CiB9CiAKLXN0YXRpYyBnYm9v
bGVhbgotd2Via2l0X3ZpZGVvX3NpbmtfdW5sb2NrX3N0b3AoR3N0QmFzZVNpbmsqIG9iamVjdCkK
K3N0YXRpYyBnYm9vbGVhbiB3ZWJraXRWaWRlb1NpbmtVbmxvY2tTdG9wKEdzdEJhc2VTaW5rKiBi
YXNlU2luaykKIHsKLSAgICBXZWJLaXRWaWRlb1NpbmsqIHNpbmsgPSBXRUJLSVRfVklERU9fU0lO
SyhvYmplY3QpOwotICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBzaW5rLT5wcml2
OworICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfVklERU9fU0lOSyhi
YXNlU2luayktPnByaXY7CiAKLSAgICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyX211dGV4KTsK
LSAgICBwcml2LT51bmxvY2tlZCA9IEZBTFNFOwotICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1
ZmZlcl9tdXRleCk7CisgICAgZ19tdXRleF9sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKKyAgICBw
cml2LT51bmxvY2tlZCA9IGZhbHNlOworICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11
dGV4KTsKIAotICAgIHJldHVybiBHU1RfQ0FMTF9QQVJFTlRfV0lUSF9ERUZBVUxUKEdTVF9CQVNF
X1NJTktfQ0xBU1MsIHVubG9ja19zdG9wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChvYmplY3QpLCBUUlVFKTsKKyAgICByZXR1cm4gR1NUX0NBTExfUEFSRU5UX1dJ
VEhfREVGQVVMVChHU1RfQkFTRV9TSU5LX0NMQVNTLCB1bmxvY2tfc3RvcCwgKGJhc2VTaW5rKSwg
VFJVRSk7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbgotd2Via2l0X3ZpZGVvX3Npbmtfc3RvcChHc3RC
YXNlU2luayogYmFzZV9zaW5rKQorc3RhdGljIGdib29sZWFuIHdlYmtpdFZpZGVvU2lua1N0b3Ao
R3N0QmFzZVNpbmsqIGJhc2VTaW5rKQogewotICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHBy
aXYgPSBXRUJLSVRfVklERU9fU0lOSyhiYXNlX3NpbmspLT5wcml2OwotCi0gICAgdW5sb2NrX2J1
ZmZlcl9tdXRleChwcml2KTsKKyAgICB1bmxvY2tCdWZmZXJNdXRleChXRUJLSVRfVklERU9fU0lO
SyhiYXNlU2luayktPnByaXYpOwogICAgIHJldHVybiBUUlVFOwogfQogCi1zdGF0aWMgZ2Jvb2xl
YW4KLXdlYmtpdF92aWRlb19zaW5rX3N0YXJ0KEdzdEJhc2VTaW5rKiBiYXNlX3NpbmspCitzdGF0
aWMgZ2Jvb2xlYW4gd2Via2l0VmlkZW9TaW5rU3RhcnQoR3N0QmFzZVNpbmsqIGJhc2VTaW5rKQog
ewotICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfVklERU9fU0lOSyhi
YXNlX3NpbmspLT5wcml2OworICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBXRUJL
SVRfVklERU9fU0lOSyhiYXNlU2luayktPnByaXY7CiAKLSAgICBnX211dGV4X2xvY2socHJpdi0+
YnVmZmVyX211dGV4KTsKLSAgICBwcml2LT51bmxvY2tlZCA9IEZBTFNFOwotICAgIGdfbXV0ZXhf
dW5sb2NrKHByaXYtPmJ1ZmZlcl9tdXRleCk7CisgICAgZ19tdXRleF9sb2NrKHByaXYtPmJ1ZmZl
ck11dGV4KTsKKyAgICBwcml2LT51bmxvY2tlZCA9IGZhbHNlOworICAgIGdfbXV0ZXhfdW5sb2Nr
KHByaXYtPmJ1ZmZlck11dGV4KTsKICAgICByZXR1cm4gVFJVRTsKIH0KIAotc3RhdGljIHZvaWQK
LW1hcnNoYWxfVk9JRF9fTUlOSU9CSkVDVChHQ2xvc3VyZSAqIGNsb3N1cmUsIEdWYWx1ZSAqIHJl
dHVybl92YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBndWludCBuX3BhcmFtX3ZhbHVl
cywgY29uc3QgR1ZhbHVlICogcGFyYW1fdmFsdWVzLAotICAgICAgICAgICAgICAgICAgICAgICAg
IGdwb2ludGVyIGludm9jYXRpb25faGludCwgZ3BvaW50ZXIgbWFyc2hhbF9kYXRhKQorc3RhdGlj
IHZvaWQgd2Via2l0VmlkZW9TaW5rTWFyc2hhbFZvaWRBbmRNaW5pT2JqZWN0KEdDbG9zdXJlKiBj
bG9zdXJlLCBHVmFsdWUqIHJldHVyblZhbHVlLCBndWludCBwYXJhbWV0ZXJzTnVtYmVyLCBjb25z
dCBHVmFsdWUqIHBhcmFtZXRlclZhbHVlcywgZ3BvaW50ZXIgaW52b2NhdGlvbkhpbnQsIGdwb2lu
dGVyIG1hcnNoYWxEYXRhKQogewotICB0eXBlZGVmIHZvaWQgKCptYXJzaGFsZnVuY19WT0lEX19N
SU5JT0JKRUNUKSAoZ3BvaW50ZXIgb2JqLCBncG9pbnRlciBhcmcxLCBncG9pbnRlciBkYXRhMik7
Ci0gIG1hcnNoYWxmdW5jX1ZPSURfX01JTklPQkpFQ1QgY2FsbGJhY2s7Ci0gIEdDQ2xvc3VyZSAq
Y2MgPSAoR0NDbG9zdXJlICopIGNsb3N1cmU7Ci0gIGdwb2ludGVyIGRhdGExLCBkYXRhMjsKLQot
ICBnX3JldHVybl9pZl9mYWlsKG5fcGFyYW1fdmFsdWVzID09IDIpOwotCi0gIGlmIChHX0NDTE9T
VVJFX1NXQVBfREFUQShjbG9zdXJlKSkgewotICAgICAgZGF0YTEgPSBjbG9zdXJlLT5kYXRhOwot
ICAgICAgZGF0YTIgPSBnX3ZhbHVlX3BlZWtfcG9pbnRlcihwYXJhbV92YWx1ZXMgKyAwKTsKLSAg
fSBlbHNlIHsKLSAgICAgIGRhdGExID0gZ192YWx1ZV9wZWVrX3BvaW50ZXIocGFyYW1fdmFsdWVz
ICsgMCk7Ci0gICAgICBkYXRhMiA9IGNsb3N1cmUtPmRhdGE7Ci0gIH0KLSAgY2FsbGJhY2sgPSAo
bWFyc2hhbGZ1bmNfVk9JRF9fTUlOSU9CSkVDVCkgKG1hcnNoYWxfZGF0YSA/IG1hcnNoYWxfZGF0
YSA6IGNjLT5jYWxsYmFjayk7Ci0KLSAgY2FsbGJhY2soZGF0YTEsIGdzdF92YWx1ZV9nZXRfbWlu
aV9vYmplY3QocGFyYW1fdmFsdWVzICsgMSksIGRhdGEyKTsKKyAgICB0eXBlZGVmIHZvaWQgKCpt
YXJzaGFsZnVuY19WT0lEX19NSU5JT0JKRUNUKSAoZ3BvaW50ZXIgb2JqLCBncG9pbnRlciBhcmcx
LCBncG9pbnRlciBkYXRhMik7CisgICAgbWFyc2hhbGZ1bmNfVk9JRF9fTUlOSU9CSkVDVCBjYWxs
YmFjazsKKyAgICBHQ0Nsb3N1cmUqIGNjbG9zdXJlID0gcmVpbnRlcnByZXRfY2FzdDxHQ0Nsb3N1
cmUqPihjbG9zdXJlKTsKKyAgICBncG9pbnRlciBkYXRhMSwgZGF0YTI7CisKKyAgICBnX3JldHVy
bl9pZl9mYWlsKHBhcmFtZXRlcnNOdW1iZXIgPT0gMik7CisKKyAgICBpZiAoR19DQ0xPU1VSRV9T
V0FQX0RBVEEoY2xvc3VyZSkpIHsKKyAgICAgICAgZGF0YTEgPSBjbG9zdXJlLT5kYXRhOworICAg
ICAgICBkYXRhMiA9IGdfdmFsdWVfcGVla19wb2ludGVyKHBhcmFtZXRlclZhbHVlcyArIDApOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGRhdGExID0gZ192YWx1ZV9wZWVrX3BvaW50ZXIocGFyYW1l
dGVyVmFsdWVzICsgMCk7CisgICAgICAgIGRhdGEyID0gY2xvc3VyZS0+ZGF0YTsKKyAgICB9CisK
KyAgICBjYWxsYmFjayA9IChtYXJzaGFsZnVuY19WT0lEX19NSU5JT0JKRUNUKSAobWFyc2hhbERh
dGEgPyBtYXJzaGFsRGF0YSA6IGNjbG9zdXJlLT5jYWxsYmFjayk7CisgICAgY2FsbGJhY2soZGF0
YTEsIGdzdF92YWx1ZV9nZXRfbWluaV9vYmplY3QocGFyYW1ldGVyVmFsdWVzICsgMSksIGRhdGEy
KTsKIH0KIAotc3RhdGljIHZvaWQKLXdlYmtpdF92aWRlb19zaW5rX2NsYXNzX2luaXQoV2ViS2l0
VmlkZW9TaW5rQ2xhc3MqIGtsYXNzKQorc3RhdGljIHZvaWQgd2Via2l0X3ZpZGVvX3NpbmtfY2xh
c3NfaW5pdChXZWJLaXRWaWRlb1NpbmtDbGFzcyoga2xhc3MpCiB7Ci0gICAgR09iamVjdENsYXNz
KiBnb2JqZWN0X2NsYXNzID0gR19PQkpFQ1RfQ0xBU1Moa2xhc3MpOwotICAgIEdzdEJhc2VTaW5r
Q2xhc3MqIGdzdGJhc2Vfc2lua19jbGFzcyA9IEdTVF9CQVNFX1NJTktfQ0xBU1Moa2xhc3MpOwor
ICAgIEdPYmplY3RDbGFzcyogZ29iamVjdENsYXNzID0gR19PQkpFQ1RfQ0xBU1Moa2xhc3MpOwor
ICAgIEdzdEJhc2VTaW5rQ2xhc3MqIGJhc2VTaW5rQ2xhc3MgPSBHU1RfQkFTRV9TSU5LX0NMQVNT
KGtsYXNzKTsKKyAgICBHc3RFbGVtZW50Q2xhc3MqIGVsZW1lbnRDbGFzcyA9IEdTVF9FTEVNRU5U
X0NMQVNTKGtsYXNzKTsKKworICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUo
ZWxlbWVudENsYXNzLCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoJnNpbmtUZW1wbGF0ZSkp
OworICAgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZShlbGVtZW50Q2xhc3Ms
CisgICAgICAgICAgICAiV2ViS2l0IHZpZGVvIHNpbmsiLAorICAgICAgICAgICAgIlNpbmsvVmlk
ZW8iLCAiU2VuZHMgdmlkZW8gZGF0YSBmcm9tIGEgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGEgQ2Fp
cm8gc3VyZmFjZSIsCisgICAgICAgICAgICAiQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4iKTsK
IAogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdlYktpdFZpZGVv
U2lua1ByaXZhdGUpKTsKIAotICAgIGdvYmplY3RfY2xhc3MtPmRpc3Bvc2UgPSB3ZWJraXRfdmlk
ZW9fc2lua19kaXNwb3NlOworICAgIGdvYmplY3RDbGFzcy0+ZGlzcG9zZSA9IHdlYmtpdFZpZGVv
U2lua0Rpc3Bvc2U7CiAKLSAgICBnc3RiYXNlX3NpbmtfY2xhc3MtPnVubG9jayA9IHdlYmtpdF92
aWRlb19zaW5rX3VubG9jazsKLSAgICBnc3RiYXNlX3NpbmtfY2xhc3MtPnVubG9ja19zdG9wID0g
d2Via2l0X3ZpZGVvX3NpbmtfdW5sb2NrX3N0b3A7Ci0gICAgZ3N0YmFzZV9zaW5rX2NsYXNzLT5y
ZW5kZXIgPSB3ZWJraXRfdmlkZW9fc2lua19yZW5kZXI7Ci0gICAgZ3N0YmFzZV9zaW5rX2NsYXNz
LT5wcmVyb2xsID0gd2Via2l0X3ZpZGVvX3NpbmtfcmVuZGVyOwotICAgIGdzdGJhc2Vfc2lua19j
bGFzcy0+c3RvcCA9IHdlYmtpdF92aWRlb19zaW5rX3N0b3A7Ci0gICAgZ3N0YmFzZV9zaW5rX2Ns
YXNzLT5zdGFydCA9IHdlYmtpdF92aWRlb19zaW5rX3N0YXJ0OworICAgIGJhc2VTaW5rQ2xhc3Mt
PnVubG9jayA9IHdlYmtpdFZpZGVvU2lua1VubG9jazsKKyAgICBiYXNlU2lua0NsYXNzLT51bmxv
Y2tfc3RvcCA9IHdlYmtpdFZpZGVvU2lua1VubG9ja1N0b3A7CisgICAgYmFzZVNpbmtDbGFzcy0+
cmVuZGVyID0gd2Via2l0VmlkZW9TaW5rUmVuZGVyOworICAgIGJhc2VTaW5rQ2xhc3MtPnByZXJv
bGwgPSB3ZWJraXRWaWRlb1NpbmtSZW5kZXI7CisgICAgYmFzZVNpbmtDbGFzcy0+c3RvcCA9IHdl
YmtpdFZpZGVvU2lua1N0b3A7CisgICAgYmFzZVNpbmtDbGFzcy0+c3RhcnQgPSB3ZWJraXRWaWRl
b1NpbmtTdGFydDsKIAotICAgIHdlYmtpdF92aWRlb19zaW5rX3NpZ25hbHNbUkVQQUlOVF9SRVFV
RVNURURdID0gZ19zaWduYWxfbmV3KCJyZXBhaW50LXJlcXVlc3RlZCIsCisgICAgd2Via2l0Vmlk
ZW9TaW5rU2lnbmFsc1tSRVBBSU5UX1JFUVVFU1RFRF0gPSBnX3NpZ25hbF9uZXcoInJlcGFpbnQt
cmVxdWVzdGVkIiwKICAgICAgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKGtsYXNzKSwKLSAgICAg
ICAgICAgIChHU2lnbmFsRmxhZ3MpKEdfU0lHTkFMX1JVTl9MQVNUIHwgR19TSUdOQUxfQUNUSU9O
KSwKLSAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAwLAotICAgICAgICAgICAgMCwKLSAgICAg
ICAgICAgIG1hcnNoYWxfVk9JRF9fTUlOSU9CSkVDVCwKLSAgICAgICAgICAgIEdfVFlQRV9OT05F
LCAxLCBHU1RfVFlQRV9CVUZGRVIpOworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1NpZ25hbEZs
YWdzPihHX1NJR05BTF9SVU5fTEFTVCB8IEdfU0lHTkFMX0FDVElPTiksCisgICAgICAgICAgICAw
LCAvLyBDbGFzcyBvZmZzZXQKKyAgICAgICAgICAgIDAsIC8vIEFjY3VtdWxhdG9yCisgICAgICAg
ICAgICAwLCAvLyBBY2N1bXVsYXRvciBkYXRhCisgICAgICAgICAgICB3ZWJraXRWaWRlb1NpbmtN
YXJzaGFsVm9pZEFuZE1pbmlPYmplY3QsCisgICAgICAgICAgICBHX1RZUEVfTk9ORSwgLy8gUmV0
dXJuIHR5cGUKKyAgICAgICAgICAgIDEsIC8vIE9ubHkgb25lIHBhcmFtZXRlcgorICAgICAgICAg
ICAgR1NUX1RZUEVfQlVGRkVSKTsKIH0KIAotLyoqCi0gKiB3ZWJraXRfdmlkZW9fc2lua19uZXc6
Ci0gKgotICogQ3JlYXRlcyBhIG5ldyBHU3RyZWFtZXIgdmlkZW8gc2luay4KLSAqCi0gKiBSZXR1
cm4gdmFsdWU6IGEgI0dzdEVsZW1lbnQgZm9yIHRoZSBuZXdseSBjcmVhdGVkIHZpZGVvIHNpbmsK
LSAqLwotR3N0RWxlbWVudCogd2Via2l0X3ZpZGVvX3NpbmtfbmV3KFdlYkNvcmU6OkdTdHJlYW1l
ckdXb3JsZCogZ3N0R1dvcmxkKQorCitHc3RFbGVtZW50KiB3ZWJraXRWaWRlb1NpbmtOZXcoV2Vi
Q29yZTo6R1N0cmVhbWVyR1dvcmxkKiBnc3RHV29ybGQpCiB7CiAgICAgR3N0RWxlbWVudCogZWxl
bWVudCA9IEdTVF9FTEVNRU5UKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9WSURFT19TSU5LLCAw
KSk7CiAgICAgV0VCS0lUX1ZJREVPX1NJTksoZWxlbWVudCktPnByaXYtPmdzdEdXb3JsZCA9IGdz
dEdXb3JsZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuaAppbmRleCA1MDE4NTBmZGU5NDMw
MGQwYzNlZGUxMjZhY2I3ODcxOTZjOTc5MDU2Li4zNDA1N2FhNDY4YmY4NDViNjg1YjRhOTgxODBi
ZGQ4NmEyMzI3YjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5oCkBAIC0yNSw0NiAr
MjUsMjkgQEAKICNpbmNsdWRlICJHU3RyZWFtZXJHV29ybGQuaCIKICNpbmNsdWRlIDxnbGliLW9i
amVjdC5oPgogI2luY2x1ZGUgPGdzdC92aWRlby9nc3R2aWRlb3NpbmsuaD4KLQotR19CRUdJTl9E
RUNMUworI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby5oPgogCiAjZGVmaW5lIFdFQktJVF9UWVBF
X1ZJREVPX1NJTksgd2Via2l0X3ZpZGVvX3NpbmtfZ2V0X3R5cGUoKQogCi0jZGVmaW5lIFdFQktJ
VF9WSURFT19TSU5LKG9iaikgXAotICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2Jq
KSwgXAotICAgIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktpdFZpZGVvU2luaykpCi0KLSNk
ZWZpbmUgV0VCS0lUX1ZJREVPX1NJTktfQ0xBU1Moa2xhc3MpIFwKLSAgICAoR19UWVBFX0NIRUNL
X0NMQVNTX0NBU1QoKGtsYXNzKSwgXAotICAgIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktp
dFZpZGVvU2lua0NsYXNzKSkKLQotI2RlZmluZSBXRUJLSVRfSVNfVklERU9fU0lOSyhvYmopIFwK
LSAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFwKLSAgICBXRUJLSVRfVFlQ
RV9WSURFT19TSU5LKSkKKyNkZWZpbmUgV0VCS0lUX1ZJREVPX1NJTksob2JqKSAoR19UWVBFX0NI
RUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktpdFZp
ZGVvU2luaykpCisjZGVmaW5lIFdFQktJVF9WSURFT19TSU5LX0NMQVNTKGtsYXNzKSAoR19UWVBF
X0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgV0VCS0lUX1RZUEVfVklERU9fU0lOSywgV2ViS2l0
VmlkZW9TaW5rQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfSVNfVklERU9fU0lOSyhvYmopIChHX1RZ
UEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfVklERU9fU0lOSykpCisj
ZGVmaW5lIFdFQktJVF9JU19WSURFT19TSU5LX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NM
QVNTX1RZUEUoKGtsYXNzKSwgV0VCS0lUX1RZUEVfVklERU9fU0lOSykpCisjZGVmaW5lIFdFQktJ
VF9WSURFT19TSU5LX0dFVF9DTEFTUyhvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChv
YmopLCBXRUJLSVRfVFlQRV9WSURFT19TSU5LLCBXZWJLaXRWaWRlb1NpbmtDbGFzcykpCiAKLSNk
ZWZpbmUgV0VCS0lUX0lTX1ZJREVPX1NJTktfQ0xBU1Moa2xhc3MpIFwKLSAgICAoR19UWVBFX0NI
RUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgXAotICAgIFdFQktJVF9UWVBFX1ZJREVPX1NJTkspKQot
Ci0jZGVmaW5lIFdFQktJVF9WSURFT19TSU5LX0dFVF9DTEFTUyhvYmopIFwKLSAgICAoR19UWVBF
X0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgXAotICAgIFdFQktJVF9UWVBFX1ZJREVPX1NJTkss
IFdlYktpdFZpZGVvU2lua0NsYXNzKSkKLQotdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFZpZGVvU2lu
ayAgICAgICAgV2ViS2l0VmlkZW9TaW5rOwotdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFZpZGVvU2lu
a0NsYXNzICAgV2ViS2l0VmlkZW9TaW5rQ2xhc3M7Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0Vmlk
ZW9TaW5rIFdlYktpdFZpZGVvU2luazsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmtD
bGFzcyBXZWJLaXRWaWRlb1NpbmtDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1Np
bmtQcml2YXRlIFdlYktpdFZpZGVvU2lua1ByaXZhdGU7CiAKIHN0cnVjdCBfV2ViS2l0VmlkZW9T
aW5rIHsKLSAgICAvKjwgcHJpdmF0ZSA+Ki8KICAgICBHc3RWaWRlb1NpbmsgcGFyZW50OwotICAg
IFdlYktpdFZpZGVvU2lua1ByaXZhdGUgKnByaXY7CisgICAgV2ViS2l0VmlkZW9TaW5rUHJpdmF0
ZSogcHJpdjsKIH07CiAKIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rQ2xhc3MgewotICAgIC8qPCBw
cml2YXRlID4qLwogICAgIEdzdFZpZGVvU2lua0NsYXNzIHBhcmVudF9jbGFzczsKIAotICAgIC8q
IEZ1dHVyZSBwYWRkaW5nICovCisgICAgLy8gRnV0dXJlIHBhZGRpbmcKICAgICB2b2lkICgqIF93
ZWJraXRfcmVzZXJ2ZWQxKSh2b2lkKTsKICAgICB2b2lkICgqIF93ZWJraXRfcmVzZXJ2ZWQyKSh2
b2lkKTsKICAgICB2b2lkICgqIF93ZWJraXRfcmVzZXJ2ZWQzKSh2b2lkKTsKQEAgLTczLDExICs1
Niw5IEBAIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rQ2xhc3MgewogICAgIHZvaWQgKCogX3dlYmtp
dF9yZXNlcnZlZDYpKHZvaWQpOwogfTsKIAorR1R5cGUgd2Via2l0X3ZpZGVvX3NpbmtfZ2V0X3R5
cGUoKSBHX0dOVUNfQ09OU1Q7CiAKLUdUeXBlICAgICAgIHdlYmtpdF92aWRlb19zaW5rX2dldF90
eXBlKHZvaWQpIEdfR05VQ19DT05TVDsKLUdzdEVsZW1lbnQgKndlYmtpdF92aWRlb19zaW5rX25l
dyhXZWJDb3JlOjpHU3RyZWFtZXJHV29ybGQqKTsKLQotR19FTkRfREVDTFMKK0dzdEVsZW1lbnQq
IHdlYmtpdFZpZGVvU2lua05ldyhXZWJDb3JlOjpHU3RyZWFtZXJHV29ybGQqKTsKIAogI2VuZGlm
IC8vIFVTRShHU1RSRUFNRVIpCiAjZW5kaWYK
</data>
<flag name="review"
          id="151283"
          type_id="1"
          status="+"
          setter="menard"
    />
          </attachment>
      

    </bug>

</bugzilla>