<?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>152484</bug_id>
          
          <creation_ts>2015-12-21 11:12:19 -0800</creation_ts>
          <short_desc>FTL B3 should do doubleToInt32</short_desc>
          <delta_ts>2015-12-21 12:55:29 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>150279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1150773</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-21 11:12:19 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150782</commentid>
    <comment_count>1</comment_count>
      <attachid>267759</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-21 12:09:22 -0800</bug_when>
    <thetext>Created attachment 267759
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150783</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-21 12:10:48 -0800</bug_when>
    <thetext>Attachment 267759 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLB3Output.cpp:97:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/ftl/FTLB3Output.cpp:109:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 6 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>1150794</commentid>
    <comment_count>3</comment_count>
      <attachid>267759</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-12-21 12:52:47 -0800</bug_when>
    <thetext>Comment on attachment 267759
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150795</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-21 12:55:29 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/194341</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267759</attachid>
            <date>2015-12-21 12:09:22 -0800</date>
            <delta_ts>2015-12-21 12:52:47 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17388</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MzM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY3IEBA
CisyMDE1LTEyLTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIEIzIHNob3VsZCBkbyBkb3VibGVUb0ludDMyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI0ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZSB1c2VkIHRvIGhhdmUgYSBEVG9JMzIgb3Bjb2RlIGlu
IEIzIHRoYXQgd2UgbmV2ZXIgaW1wbGVtZW50ZWQuIFRoaXMgcmVtb3ZlcyB0aGF0IG9wY29kZSwK
KyAgICAgICAgc2luY2UgZG91YmxlLXRvLWludCBjb252ZXJzaW9uIGhhcyBkcmFtYXRpY2FsbHkg
ZGlmZmVyZW50IHNlbWFudGljcyBvbiBkaWZmZXJlbnQKKyAgICAgICAgYXJjaGl0ZWN0dXJlcy4g
V2UgbGV0IEZUTCBnZXQgdGhlIGNvbnZlcnNpb24gaW5zdHJ1Y3Rpb24gaXQgd2FudHMgYnkgdXNp
bmcgYSBwYXRjaHBvaW50LgorCisgICAgICAgICogYjMvQjNPcGNvZGUuY3BwOgorICAgICAgICAo
V1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBiMy9CM09wY29kZS5oOgorICAgICAgICAq
IGIzL0IzVmFsaWRhdGUuY3BwOgorICAgICAgICAqIGIzL0IzVmFsdWUuY3BwOgorICAgICAgICAo
SlNDOjpCMzo6VmFsdWU6OmVmZmVjdHMpOgorICAgICAgICAoSlNDOjpCMzo6VmFsdWU6OmtleSk6
CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZTo6dHlwZUZvcik6CisgICAgICAgICogYjMvQjNWYWx1
ZUtleS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpWYWx1ZUtleTo6bWF0ZXJpYWxpemUpOgorICAg
ICAgICAqIGZ0bC9GVExCM091dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpP
dXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YXBwZW5kVG8pOgorICAgICAgICAo
SlNDOjpGVEw6Ok91dHB1dDo6bG9ja2VkU3RhY2tTbG90KToKKyAgICAgICAgKEpTQzo6RlRMOjpP
dXRwdXQ6OmxvYWQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6ZG91YmxlUG93aSk6Cisg
ICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpoYXNTZW5zaWJsZURvdWJsZVRvSW50KToKKyAgICAg
ICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmRvdWJsZVRvSW50KToKKyAgICAgICAgKEpTQzo6RlRMOjpP
dXRwdXQ6OmRvdWJsZVRvVUludCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpsb2FkOFNp
Z25FeHQzMik6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpsb2FkOFplcm9FeHQzMik6Cisg
ICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpsb2FkMTZTaWduRXh0MzIpOgorICAgICAgICAoSlND
OjpGVEw6Ok91dHB1dDo6bG9hZDE2WmVyb0V4dDMyKToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRw
dXQ6OnN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OnN0b3JlMzJBczgpOgorICAg
ICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6c3RvcmUzMkFzMTYpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6YnJhbmNoKToKKyAgICAgICAgKiBmdGwvRlRMQjNPdXRwdXQuaDoKKyAgICAgICAg
KEpTQzo6RlRMOjpPdXRwdXQ6OmRvdWJsZUxvZyk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0
OjpzaWduRXh0MzJUbzY0KToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6Onplcm9FeHQpOgor
ICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6emVyb0V4dFB0cik6CisgICAgICAgIChKU0M6OkZU
TDo6T3V0cHV0OjppbnRUb0RvdWJsZSk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojp1bnNp
Z25lZFRvRG91YmxlKToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmNhc3RUb0ludDMyKToK
KyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6Omhhc1NlbnNpYmxlRG91YmxlVG9JbnQpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6c2Vuc2libGVEb3VibGVUb0ludCk6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpmcFRvSW50MzIpOiBEZWxldGVkLgor
ICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6ZnBUb1VJbnQzMik6IERlbGV0ZWQuCisgICAgICAg
ICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxv
d2VyREZHVG9MTFZNOjpjb21waWxlQXJpdGhQb3cpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkZUTDo6REZH
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVN3aXRjaCk6CisgICAgICAgIChKU0M6OkZUTDo6REZH
OjpMb3dlckRGR1RvTExWTTo6ZG91YmxlVG9JbnQzMik6CisgICAgICAgIChKU0M6OkZUTDo6REZH
OjpMb3dlckRGR1RvTExWTTo6c2Vuc2libGVEb3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb252ZXJ0RG91YmxlVG9JbnQzMik6CisgICAgICAg
ICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6aGFzU2Vuc2li
bGVEb3VibGVUb0ludCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVUb0ludCk6
CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVUb1VJbnQpOgorICAgICAgICAoSlND
OjpGVEw6Ok91dHB1dDo6c2lnbkV4dDMyVG82NCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0
Ojp6ZXJvRXh0KToKKwogMjAxNS0xMi0yMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIEZUTCBCMyBzaG91bGQgZG8gdmFyYXJnIGNhbGxzCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNPcGNvZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM09wY29kZS5jcHAJKHJldmlzaW9uIDE5NDMzMykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM09wY29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Niw5ICsx
NzYsNiBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgT3BjCiAgICAgY2Fz
ZSBJVG9EOgogICAgICAgICBvdXQucHJpbnQoIklUb0QiKTsKICAgICAgICAgcmV0dXJuOwotICAg
IGNhc2UgRFRvSTMyOgotICAgICAgICBvdXQucHJpbnQoIkRUb0kzMiIpOwotICAgICAgICByZXR1
cm47CiAgICAgY2FzZSBGbG9hdFRvRG91YmxlOgogICAgICAgICBvdXQucHJpbnQoIkZsb2F0VG9E
b3VibGUiKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzT3Bjb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzT3Bj
b2RlLmgJKHJldmlzaW9uIDE5NDMzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM09w
Y29kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsMTAgKzEwMCwxMCBAQCBlbnVtIE9wY29kZSA6
IGludDE2X3QgewogICAgIFpFeHQzMiwKICAgICAvLyBUYWtlcyBJbnQ2NCBhbmQgcmV0dXJucyBJ
bnQzMjoKICAgICBUcnVuYywKLSAgICAvLyBUYWtlcyBpbnRzIGFuZCByZXR1cm5zIERvdWJsZToK
KyAgICAvLyBUYWtlcyBpbnRzIGFuZCByZXR1cm5zIERvdWJsZS4gTm90ZSB0aGF0IHdlIGRvbid0
IGN1cnJlbnRseSBwcm92aWRlIHRoZSBvcHBvc2l0ZSBvcGVyYXRpb24sCisgICAgLy8gYmVjYXVz
ZSBkb3VibGUtdG8taW50IGNvbnZlcnNpb25zIGhhdmUgd2VpcmRseSBkaWZmZXJlbnQgc2VtYW50
aWNzIG9uIGRpZmZlcmVudCBwbGF0Zm9ybXMuIFVzZQorICAgIC8vIGEgcGF0Y2hwb2ludCBpZiB5
b3UgbmVlZCB0byBkbyB0aGF0LgogICAgIElUb0QsCi0gICAgLy8gVGFrZXMgRG91YmxlIGFuZCBy
ZXR1cm5zIEludDMyOgotICAgIERUb0kzMiwKICAgICAvLyBDb252ZXJ0IGJldHdlZW4gZG91Ymxl
IGFuZCBmbG9hdC4KICAgICBGbG9hdFRvRG91YmxlLAogICAgIERvdWJsZVRvRmxvYXQsCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWxpZGF0ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsaWRhdGUuY3BwCShyZXZpc2lvbiAxOTQzMzMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWxpZGF0ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIyMSwxMSArMjIxLDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIFZBTElEQVRF
KGlzSW50KHZhbHVlLT5jaGlsZCgwKS0+dHlwZSgpKSwgKCJBdCAiLCAqdmFsdWUpKTsKICAgICAg
ICAgICAgICAgICBWQUxJREFURSh2YWx1ZS0+dHlwZSgpID09IERvdWJsZSwgKCJBdCAiLCAqdmFs
dWUpKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRFRvSTMyOgot
ICAgICAgICAgICAgICAgIFZBTElEQVRFKHZhbHVlLT5udW1DaGlsZHJlbigpID09IDEsICgiQXQg
IiwgKnZhbHVlKSk7Ci0gICAgICAgICAgICAgICAgVkFMSURBVEUodmFsdWUtPmNoaWxkKDApLT50
eXBlKCkgPT0gRG91YmxlLCAoIkF0ICIsICp2YWx1ZSkpOwotICAgICAgICAgICAgICAgIFZBTElE
QVRFKHZhbHVlLT50eXBlKCkgPT0gSW50MzIsICgiQXQgIiwgKnZhbHVlKSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIEZsb2F0VG9Eb3VibGU6CiAgICAgICAgICAg
ICAgICAgVkFMSURBVEUodmFsdWUtPm51bUNoaWxkcmVuKCkgPT0gMSwgKCJBdCAiLCAqdmFsdWUp
KTsKICAgICAgICAgICAgICAgICBWQUxJREFURSh2YWx1ZS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBG
bG9hdCwgKCJBdCAiLCAqdmFsdWUpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1
ZS5jcHAJKHJldmlzaW9uIDE5NDMzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgzLDcgKzM4Myw2IEBAIEVmZmVjdHMgVmFsdWU6
OmVmZmVjdHMoKSBjb25zdAogICAgIGNhc2UgWkV4dDMyOgogICAgIGNhc2UgVHJ1bmM6CiAgICAg
Y2FzZSBJVG9EOgotICAgIGNhc2UgRFRvSTMyOgogICAgIGNhc2UgRmxvYXRUb0RvdWJsZToKICAg
ICBjYXNlIERvdWJsZVRvRmxvYXQ6CiAgICAgY2FzZSBFcXVhbDoKQEAgLTQ2NCw3ICs0NjMsNiBA
QCBWYWx1ZUtleSBWYWx1ZTo6a2V5KCkgY29uc3QKICAgICBjYXNlIENsejoKICAgICBjYXNlIFRy
dW5jOgogICAgIGNhc2UgSVRvRDoKLSAgICBjYXNlIERUb0kzMjoKICAgICBjYXNlIEZsb2F0VG9E
b3VibGU6CiAgICAgY2FzZSBEb3VibGVUb0Zsb2F0OgogICAgIGNhc2UgQ2hlY2s6CkBAIC01NzUs
NyArNTczLDYgQEAgVHlwZSBWYWx1ZTo6dHlwZUZvcihPcGNvZGUgb3Bjb2RlLCBWYWx1ZQogICAg
IGNhc2UgU0V4dDg6CiAgICAgY2FzZSBTRXh0MTY6CiAgICAgY2FzZSBUcnVuYzoKLSAgICBjYXNl
IERUb0kzMjoKICAgICBjYXNlIEVxdWFsOgogICAgIGNhc2UgTm90RXF1YWw6CiAgICAgY2FzZSBM
ZXNzVGhhbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZUtleS5jcHAJKHJl
dmlzaW9uIDE5NDMzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlS2V5LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNiBAQCBWYWx1ZSogVmFsdWVLZXk6Om1hdGVy
aWFsaXplKFByb2NlZHVyZSYgCiAgICAgY2FzZSBDbHo6CiAgICAgY2FzZSBUcnVuYzoKICAgICBj
YXNlIElUb0Q6Ci0gICAgY2FzZSBEVG9JMzI6CiAgICAgY2FzZSBGbG9hdFRvRG91YmxlOgogICAg
IGNhc2UgRG91YmxlVG9GbG9hdDoKICAgICBjYXNlIENoZWNrOgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5jcHAJKHJldmlzaW9uIDE5NDMzMykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQjNPdXRwdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw5ICszMCwxMiBAQAogI2lmIEZUTF9VU0VTX0IzCiAKICNpbmNsdWRlICJCM01hdGhFeHRyYXMu
aCIKKyNpbmNsdWRlICJCM1N0YWNrbWFwR2VuZXJhdGlvblBhcmFtcy5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKK3VzaW5nIG5hbWVzcGFjZSBCMzsKKwogT3V0cHV0OjpP
dXRwdXQoU3RhdGUmIHN0YXRlKQogICAgIDogQ29tbW9uVmFsdWVzKHN0YXRlLmNvbnRleHQpCiAg
ICAgLCBtX3Byb2MoKnN0YXRlLnByb2MpCkBAIC01OSw2OCArNjIsMTAwIEBAIHZvaWQgT3V0cHV0
OjphcHBlbmRUbyhMQmFzaWNCbG9jayBibG9jaykKICAgICBtX2Jsb2NrID0gYmxvY2s7CiB9CiAK
LUIzOjpTdGFja1Nsb3RWYWx1ZSogT3V0cHV0Ojpsb2NrZWRTdGFja1Nsb3Qoc2l6ZV90IGJ5dGVz
KQorU3RhY2tTbG90VmFsdWUqIE91dHB1dDo6bG9ja2VkU3RhY2tTbG90KHNpemVfdCBieXRlcykK
IHsKLSAgICByZXR1cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpTdGFja1Nsb3RWYWx1ZT4obV9w
cm9jLCBvcmlnaW4oKSwgYnl0ZXMsIEIzOjpTdGFja1Nsb3RLaW5kOjpMb2NrZWQpOworICAgIHJl
dHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8U3RhY2tTbG90VmFsdWU+KG1fcHJvYywgb3JpZ2luKCks
IGJ5dGVzLCBTdGFja1Nsb3RLaW5kOjpMb2NrZWQpOwogfQogCiBMVmFsdWUgT3V0cHV0Ojpsb2Fk
KFR5cGVkUG9pbnRlciBwb2ludGVyLCBMVHlwZSB0eXBlKQogewotICAgIExWYWx1ZSBsb2FkID0g
bV9ibG9jay0+YXBwZW5kTmV3PEIzOjpNZW1vcnlWYWx1ZT4obV9wcm9jLCBCMzo6TG9hZCwgdHlw
ZSwgb3JpZ2luKCksIHBvaW50ZXIudmFsdWUoKSk7CisgICAgTFZhbHVlIGxvYWQgPSBtX2Jsb2Nr
LT5hcHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZCwgdHlwZSwgb3JpZ2luKCksIHBv
aW50ZXIudmFsdWUoKSk7CiAgICAgcG9pbnRlci5oZWFwKCkuZGVjb3JhdGVJbnN0cnVjdGlvbihs
b2FkLCAqbV9oZWFwcyk7CiAgICAgcmV0dXJuIGxvYWQ7CiB9CiAKIExWYWx1ZSBPdXRwdXQ6OmRv
dWJsZVBvd2koTFZhbHVlIHgsIExWYWx1ZSB5KQogeworICAgIC8vIEZJWE1FOiBwb3dEb3VibGVJ
bnQzMigpIHNob3VsZCBiZSBpbmxpbmVkIGhlcmUgc2luY2UgT3V0cHV0IGtub3dzIGFib3V0IGJs
b2NrIGxheW91dCBhbmQKKyAgICAvLyBzaG91bGQgYmUgaW52b2x2ZWQgaW4gYW55IG9wZXJhdGlv
biB0aGF0IGNyZWF0ZXMgYmxvY2tzLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTIyMjMKICAgICBhdXRvIHJlc3VsdCA9IHBvd0RvdWJsZUludDMyKG1f
cHJvYywgbV9ibG9jaywgb3JpZ2luKCksIHgsIHkpOwogICAgIG1fYmxvY2sgPSByZXN1bHQuZmly
c3Q7CiAgICAgcmV0dXJuIHJlc3VsdC5zZWNvbmQ7CiB9CiAKK2Jvb2wgT3V0cHV0OjpoYXNTZW5z
aWJsZURvdWJsZVRvSW50KCkKK3sKKyAgICByZXR1cm4gb3B0aW1pemVGb3JYODYoKTsKK30KKwor
TFZhbHVlIE91dHB1dDo6ZG91YmxlVG9JbnQoTFZhbHVlIHZhbHVlKQoreworICAgIFBhdGNocG9p
bnRWYWx1ZSogcmVzdWx0ID0gcGF0Y2hwb2ludChJbnQzMik7CisgICAgcmVzdWx0LT5hcHBlbmQo
dmFsdWUsIFZhbHVlUmVwOjpTb21lUmVnaXN0ZXIpOworICAgIHJlc3VsdC0+c2V0R2VuZXJhdG9y
KAorICAgICAgICBbXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IFN0YWNrbWFwR2VuZXJhdGlv
blBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICBqaXQudHJ1bmNhdGVEb3VibGVUb0ludDMy
KHBhcmFtc1sxXS5mcHIoKSwgcGFyYW1zWzBdLmdwcigpKTsKKyAgICAgICAgfSk7CisgICAgcmVz
dWx0LT5lZmZlY3RzID0gRWZmZWN0czo6bm9uZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K0xWYWx1ZSBPdXRwdXQ6OmRvdWJsZVRvVUludChMVmFsdWUgdmFsdWUpCit7CisgICAgUGF0Y2hw
b2ludFZhbHVlKiByZXN1bHQgPSBwYXRjaHBvaW50KEludDMyKTsKKyAgICByZXN1bHQtPmFwcGVu
ZCh2YWx1ZSwgVmFsdWVSZXA6OlNvbWVSZWdpc3Rlcik7CisgICAgcmVzdWx0LT5zZXRHZW5lcmF0
b3IoCisgICAgICAgIFtdIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgU3RhY2ttYXBHZW5lcmF0
aW9uUGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgIGppdC50cnVuY2F0ZURvdWJsZVRvVWlu
dDMyKHBhcmFtc1sxXS5mcHIoKSwgcGFyYW1zWzBdLmdwcigpKTsKKyAgICAgICAgfSk7CisgICAg
cmVzdWx0LT5lZmZlY3RzID0gRWZmZWN0czo6bm9uZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIExWYWx1ZSBPdXRwdXQ6OmxvYWQ4U2lnbkV4dDMyKFR5cGVkUG9pbnRlciBwb2ludGVyKQog
ewotICAgIExWYWx1ZSBsb2FkID0gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpNZW1vcnlWYWx1ZT4o
bV9wcm9jLCBCMzo6TG9hZDhTLCBCMzo6SW50MzIsIG9yaWdpbigpLCBwb2ludGVyLnZhbHVlKCkp
OworICAgIExWYWx1ZSBsb2FkID0gbV9ibG9jay0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3By
b2MsIExvYWQ4UywgSW50MzIsIG9yaWdpbigpLCBwb2ludGVyLnZhbHVlKCkpOwogICAgIHBvaW50
ZXIuaGVhcCgpLmRlY29yYXRlSW5zdHJ1Y3Rpb24obG9hZCwgKm1faGVhcHMpOwogICAgIHJldHVy
biBsb2FkOwogfQogCiBMVmFsdWUgT3V0cHV0Ojpsb2FkOFplcm9FeHQzMihUeXBlZFBvaW50ZXIg
cG9pbnRlcikKIHsKLSAgICBMVmFsdWUgbG9hZCA9IG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6TWVt
b3J5VmFsdWU+KG1fcHJvYywgQjM6OkxvYWQ4WiwgQjM6OkludDMyLCBvcmlnaW4oKSwgcG9pbnRl
ci52YWx1ZSgpKTsKKyAgICBMVmFsdWUgbG9hZCA9IG1fYmxvY2stPmFwcGVuZE5ldzxNZW1vcnlW
YWx1ZT4obV9wcm9jLCBMb2FkOFosIEludDMyLCBvcmlnaW4oKSwgcG9pbnRlci52YWx1ZSgpKTsK
ICAgICBwb2ludGVyLmhlYXAoKS5kZWNvcmF0ZUluc3RydWN0aW9uKGxvYWQsICptX2hlYXBzKTsK
ICAgICByZXR1cm4gbG9hZDsKIH0KIAogTFZhbHVlIE91dHB1dDo6bG9hZDE2U2lnbkV4dDMyKFR5
cGVkUG9pbnRlciBwb2ludGVyKQogewotICAgIExWYWx1ZSBsb2FkID0gbV9ibG9jay0+YXBwZW5k
TmV3PEIzOjpNZW1vcnlWYWx1ZT4obV9wcm9jLCBCMzo6TG9hZDE2UywgQjM6OkludDMyLCBvcmln
aW4oKSwgcG9pbnRlci52YWx1ZSgpKTsKKyAgICBMVmFsdWUgbG9hZCA9IG1fYmxvY2stPmFwcGVu
ZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBMb2FkMTZTLCBJbnQzMiwgb3JpZ2luKCksIHBvaW50
ZXIudmFsdWUoKSk7CiAgICAgcG9pbnRlci5oZWFwKCkuZGVjb3JhdGVJbnN0cnVjdGlvbihsb2Fk
LCAqbV9oZWFwcyk7CiAgICAgcmV0dXJuIGxvYWQ7CiB9CiAKIExWYWx1ZSBPdXRwdXQ6OmxvYWQx
Nlplcm9FeHQzMihUeXBlZFBvaW50ZXIgcG9pbnRlcikKIHsKLSAgICBMVmFsdWUgbG9hZCA9IG1f
YmxvY2stPmFwcGVuZE5ldzxCMzo6TWVtb3J5VmFsdWU+KG1fcHJvYywgQjM6OkxvYWQxNlosIEIz
OjpJbnQzMiwgb3JpZ2luKCksIHBvaW50ZXIudmFsdWUoKSk7CisgICAgTFZhbHVlIGxvYWQgPSBt
X2Jsb2NrLT5hcHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZDE2WiwgSW50MzIsIG9y
aWdpbigpLCBwb2ludGVyLnZhbHVlKCkpOwogICAgIHBvaW50ZXIuaGVhcCgpLmRlY29yYXRlSW5z
dHJ1Y3Rpb24obG9hZCwgKm1faGVhcHMpOwogICAgIHJldHVybiBsb2FkOwogfQogCiB2b2lkIE91
dHB1dDo6c3RvcmUoTFZhbHVlIHZhbHVlLCBUeXBlZFBvaW50ZXIgcG9pbnRlcikKIHsKLSAgICBM
VmFsdWUgc3RvcmUgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6Ok1lbW9yeVZhbHVlPihtX3Byb2Ms
IEIzOjpTdG9yZSwgb3JpZ2luKCksIHZhbHVlLCBwb2ludGVyLnZhbHVlKCkpOworICAgIExWYWx1
ZSBzdG9yZSA9IG1fYmxvY2stPmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBTdG9yZSwg
b3JpZ2luKCksIHZhbHVlLCBwb2ludGVyLnZhbHVlKCkpOwogICAgIHBvaW50ZXIuaGVhcCgpLmRl
Y29yYXRlSW5zdHJ1Y3Rpb24oc3RvcmUsICptX2hlYXBzKTsKIH0KIAogdm9pZCBPdXRwdXQ6OnN0
b3JlMzJBczgoTFZhbHVlIHZhbHVlLCBUeXBlZFBvaW50ZXIgcG9pbnRlcikKIHsKLSAgICBMVmFs
dWUgc3RvcmUgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6Ok1lbW9yeVZhbHVlPihtX3Byb2MsIEIz
OjpTdG9yZTgsIG9yaWdpbigpLCB2YWx1ZSwgcG9pbnRlci52YWx1ZSgpKTsKKyAgICBMVmFsdWUg
c3RvcmUgPSBtX2Jsb2NrLT5hcHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgU3RvcmU4LCBv
cmlnaW4oKSwgdmFsdWUsIHBvaW50ZXIudmFsdWUoKSk7CiAgICAgcG9pbnRlci5oZWFwKCkuZGVj
b3JhdGVJbnN0cnVjdGlvbihzdG9yZSwgKm1faGVhcHMpOwogfQogCiB2b2lkIE91dHB1dDo6c3Rv
cmUzMkFzMTYoTFZhbHVlIHZhbHVlLCBUeXBlZFBvaW50ZXIgcG9pbnRlcikKIHsKLSAgICBMVmFs
dWUgc3RvcmUgPSBtX2Jsb2NrLT5hcHBlbmROZXc8QjM6Ok1lbW9yeVZhbHVlPihtX3Byb2MsIEIz
OjpTdG9yZTE2LCBvcmlnaW4oKSwgdmFsdWUsIHBvaW50ZXIudmFsdWUoKSk7CisgICAgTFZhbHVl
IHN0b3JlID0gbV9ibG9jay0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3Byb2MsIFN0b3JlMTYs
IG9yaWdpbigpLCB2YWx1ZSwgcG9pbnRlci52YWx1ZSgpKTsKICAgICBwb2ludGVyLmhlYXAoKS5k
ZWNvcmF0ZUluc3RydWN0aW9uKHN0b3JlLCAqbV9oZWFwcyk7CiB9CiAKQEAgLTE1MiwxMCArMTg3
LDEwIEBAIExWYWx1ZSBPdXRwdXQ6OmJhc2VJbmRleChMVmFsdWUgYmFzZSwgTFYKIAogdm9pZCBP
dXRwdXQ6OmJyYW5jaChMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgV2VpZ2h0
IHRha2VuV2VpZ2h0LCBMQmFzaWNCbG9jayBub3RUYWtlbiwgV2VpZ2h0IG5vdFRha2VuV2VpZ2h0
KQogewotICAgIG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6Q29udHJvbFZhbHVlPigKKyAgICBtX2Js
b2NrLT5hcHBlbmROZXc8Q29udHJvbFZhbHVlPigKICAgICAgICAgbV9wcm9jLCBCMzo6QnJhbmNo
LCBvcmlnaW4oKSwgY29uZGl0aW9uLAotICAgICAgICBCMzo6RnJlcXVlbnRlZEJsb2NrKHRha2Vu
LCB0YWtlbldlaWdodC5mcmVxdWVuY3lDbGFzcygpKSwKLSAgICAgICAgQjM6OkZyZXF1ZW50ZWRC
bG9jayhub3RUYWtlbiwgbm90VGFrZW5XZWlnaHQuZnJlcXVlbmN5Q2xhc3MoKSkpOworICAgICAg
ICBGcmVxdWVudGVkQmxvY2sodGFrZW4sIHRha2VuV2VpZ2h0LmZyZXF1ZW5jeUNsYXNzKCkpLAor
ICAgICAgICBGcmVxdWVudGVkQmxvY2sobm90VGFrZW4sIG5vdFRha2VuV2VpZ2h0LmZyZXF1ZW5j
eUNsYXNzKCkpKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQjNPdXRwdXQuaAkocmV2aXNpb24gMTk0MzMzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzUsOCArMTc1LDkgQEAgcHVibGljOgogCiAgICAgTFZhbHVlIGRvdWJsZUxvZyhMVmFsdWUgdmFs
dWUpIHsgcmV0dXJuIGNhbGxXaXRob3V0U2lkZUVmZmVjdHMoQjM6OkRvdWJsZSwgbG9nLCB2YWx1
ZSk7IH0KIAotICAgIHN0YXRpYyBib29sIGhhc1NlbnNpYmxlRG91YmxlVG9JbnQoKSB7IENSQVNI
KCk7IH0KLSAgICBMVmFsdWUgc2Vuc2libGVEb3VibGVUb0ludChMVmFsdWUpIHsgQ1JBU0goKTsg
fQorICAgIHN0YXRpYyBib29sIGhhc1NlbnNpYmxlRG91YmxlVG9JbnQoKTsKKyAgICBMVmFsdWUg
ZG91YmxlVG9JbnQoTFZhbHVlKTsKKyAgICBMVmFsdWUgZG91YmxlVG9VSW50KExWYWx1ZSk7CiAK
ICAgICBMVmFsdWUgc2lnbkV4dDMyVG82NChMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIG1fYmxvY2st
PmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OlNFeHQzMiwgb3JpZ2luKCksIHZhbHVl
KTsgfQogICAgIExWYWx1ZSB6ZXJvRXh0KExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkKQEAgLTE4
Niw4ICsxODcsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Jsb2NrLT5hcHBlbmROZXc8
QjM6OlZhbHVlPihtX3Byb2MsIEIzOjpaRXh0MzIsIG9yaWdpbigpLCB2YWx1ZSk7CiAgICAgfQog
ICAgIExWYWx1ZSB6ZXJvRXh0UHRyKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gemVyb0V4dCh2YWx1
ZSwgQjM6OkludDY0KTsgfQotICAgIExWYWx1ZSBmcFRvSW50MzIoTFZhbHVlIHZhbHVlKSB7IENS
QVNIKCk7IH0KLSAgICBMVmFsdWUgZnBUb1VJbnQzMihMVmFsdWUgdmFsdWUpIHsgQ1JBU0goKTsg
fQogICAgIExWYWx1ZSBpbnRUb0RvdWJsZShMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIG1fYmxvY2st
PmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OklUb0QsIG9yaWdpbigpLCB2YWx1ZSk7
IH0KICAgICBMVmFsdWUgdW5zaWduZWRUb0RvdWJsZShMVmFsdWUgdmFsdWUpIHsgQ1JBU0goKTsg
fQogICAgIExWYWx1ZSBjYXN0VG9JbnQzMihMVmFsdWUgdmFsdWUpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTk0
MzM0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIwODQsNyArMjA4NCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICBMQmFzaWNCbG9jayBuYW5FeGNlcHRpb25SZXN1bHRJc05hTiA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiQXJpdGhQb3cgTmFOIEV4Y2VwdGlvbiwgcmVzdWx0IGlzIE5hTi4iKSk7CiAgICAgICAg
ICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFy
aXRoUG93IGNvbnRpbnVhdGlvbiIpKTsKIAotICAgICAgICAgICAgTFZhbHVlIGludGVnZXJFeHBv
bmVudCA9IG1fb3V0LmZwVG9JbnQzMihleHBvbmVudCk7CisgICAgICAgICAgICBMVmFsdWUgaW50
ZWdlckV4cG9uZW50ID0gbV9vdXQuZG91YmxlVG9JbnQoZXhwb25lbnQpOwogICAgICAgICAgICAg
TFZhbHVlIGludGVnZXJFeHBvbmVudENvbnZlcnRlZFRvRG91YmxlID0gbV9vdXQuaW50VG9Eb3Vi
bGUoaW50ZWdlckV4cG9uZW50KTsKICAgICAgICAgICAgIExWYWx1ZSBleHBvbmVudElzSW50ZWdl
ciA9IG1fb3V0LmRvdWJsZUVxdWFsKGV4cG9uZW50LCBpbnRlZ2VyRXhwb25lbnRDb252ZXJ0ZWRU
b0RvdWJsZSk7CiAgICAgICAgICAgICBtX291dC5icmFuY2goZXhwb25lbnRJc0ludGVnZXIsIHVu
c3VyZShpbnRlZ2VyRXhwb25lbnRJc1NtYWxsQmxvY2spLCB1bnN1cmUoZG91YmxlRXhwb25lbnRQ
b3dCbG9ja0VudHJ5KSk7CkBAIC0zMjgyLDcgKzMyODIsNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnN1cmUoY29udGludWF0aW9uKSwgdW5zdXJlKHdpdGhp
blJhbmdlKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8od2l0aGluUmFuZ2UsIGNvbnRpbnVhdGlvbik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50VmFsdWVzLmFwcGVuZChtX291dC5hbmNob3Io
bV9vdXQuZnBUb0ludDMyKGRvdWJsZVZhbHVlKSkpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludFZhbHVlcy5hcHBlbmQobV9vdXQuYW5jaG9yKG1fb3V0LmRvdWJsZVRvSW50KGRvdWJs
ZVZhbHVlKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGlu
dWF0aW9uKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKQEAgLTU1
MTMsNyArNTUxMyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oaXNEb3VibGUsIGlubmVyTGFzdE5leHQpOwogICAgICAgICAgICAg
ICAgIExWYWx1ZSBkb3VibGVWYWx1ZSA9IHVuYm94RG91YmxlKGJveGVkVmFsdWUpOwotICAgICAg
ICAgICAgICAgIExWYWx1ZSBpbnRJbkRvdWJsZSA9IG1fb3V0LmZwVG9JbnQzMihkb3VibGVWYWx1
ZSk7CisgICAgICAgICAgICAgICAgTFZhbHVlIGludEluRG91YmxlID0gbV9vdXQuZG91YmxlVG9J
bnQoZG91YmxlVmFsdWUpOwogICAgICAgICAgICAgICAgIGludFZhbHVlcy5hcHBlbmQobV9vdXQu
YW5jaG9yKGludEluRG91YmxlKSk7CiAgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAg
ICAgICAgICAgICAgICAgICBtX291dC5kb3VibGVFcXVhbChtX291dC5pbnRUb0RvdWJsZShpbnRJ
bkRvdWJsZSksIGRvdWJsZVZhbHVlKSwKQEAgLTgyNzQsOSArODI3NCw5IEBAIHByaXZhdGU6CiAg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKHdpdGhpblJhbmdlLCBzbG93UGF0aCk7CiAgICAgICAgIExW
YWx1ZSBmYXN0UmVzdWx0OwogICAgICAgICBpZiAoaXNTaWduZWQpCi0gICAgICAgICAgICBmYXN0
UmVzdWx0ID0gbV9vdXQuZnBUb0ludDMyKGRvdWJsZVZhbHVlKTsKKyAgICAgICAgICAgIGZhc3RS
ZXN1bHQgPSBtX291dC5kb3VibGVUb0ludChkb3VibGVWYWx1ZSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGZhc3RSZXN1bHQgPSBtX291dC5mcFRvVUludDMyKGRvdWJsZVZhbHVlKTsKKyAg
ICAgICAgICAgIGZhc3RSZXN1bHQgPSBtX291dC5kb3VibGVUb1VJbnQoZG91YmxlVmFsdWUpOwog
ICAgICAgICByZXN1bHRzLmFwcGVuZChtX291dC5hbmNob3IoZmFzdFJlc3VsdCkpOwogICAgICAg
ICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CiAgICAgICAgIApAQCAtODMwMiw3ICs4MzAyLDcg
QEAgcHJpdmF0ZToKICAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NL
KG1fb3V0LCAoInNlbnNpYmxlIGRvdWJsZVRvSW50MzIgc2xvdyBwYXRoIikpOwogICAgICAgICBM
QmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoInNlbnNpYmxl
IGRvdWJsZVRvSW50MzIgY29udGludWF0aW9uIikpOwogCi0gICAgICAgIExWYWx1ZSBmYXN0UmVz
dWx0VmFsdWUgPSBtX291dC5zZW5zaWJsZURvdWJsZVRvSW50KGRvdWJsZVZhbHVlKTsKKyAgICAg
ICAgTFZhbHVlIGZhc3RSZXN1bHRWYWx1ZSA9IG1fb3V0LmRvdWJsZVRvSW50KGRvdWJsZVZhbHVl
KTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihmYXN0
UmVzdWx0VmFsdWUpOwogICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5l
cXVhbChmYXN0UmVzdWx0VmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHg4MDAwMDAwMCkpLApAQCAt
ODk1OCw3ICs4OTU4LDcgQEAgcHJpdmF0ZToKIAogICAgIExWYWx1ZSBjb252ZXJ0RG91YmxlVG9J
bnQzMihMVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkQ2hlY2tOZWdhdGl2ZVplcm8pCiAgICAgewot
ICAgICAgICBMVmFsdWUgaW50ZWdlclZhbHVlID0gbV9vdXQuZnBUb0ludDMyKHZhbHVlKTsKKyAg
ICAgICAgTFZhbHVlIGludGVnZXJWYWx1ZSA9IG1fb3V0LmRvdWJsZVRvSW50KHZhbHVlKTsKICAg
ICAgICAgTFZhbHVlIGludGVnZXJWYWx1ZUNvbnZlcnRlZFRvRG91YmxlID0gbV9vdXQuaW50VG9E
b3VibGUoaW50ZWdlclZhbHVlKTsKICAgICAgICAgTFZhbHVlIHZhbHVlTm90Q29udmVydGlibGVU
b0ludGVnZXIgPSBtX291dC5kb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkKHZhbHVlLCBpbnRlZ2Vy
VmFsdWVDb252ZXJ0ZWRUb0RvdWJsZSk7CiAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgRm9y
bWF0dGVkVmFsdWUoRGF0YUZvcm1hdERvdWJsZSwgdmFsdWUpLCBtX25vZGUsIHZhbHVlTm90Q29u
dmVydGlibGVUb0ludGVnZXIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1
dC5oCShyZXZpc2lvbiAxOTQzMzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91
dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiArMjE1LDggQEAgcHVibGljOgogCiAgICAg
c3RhdGljIGJvb2wgaGFzU2Vuc2libGVEb3VibGVUb0ludCgpIHsgcmV0dXJuIGlzWDg2KCk7IH0K
ICAgICBMVmFsdWUgc2Vuc2libGVEb3VibGVUb0ludChMVmFsdWUpOworICAgIExWYWx1ZSBkb3Vi
bGVUb0ludChMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGZwVG9JbnQzMih2YWx1ZSk7IH0KKyAgICBM
VmFsdWUgZG91YmxlVG9VSW50KExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gZnBUb1VJbnQzMih2YWx1
ZSk7IH0KIAogICAgIExWYWx1ZSBzaWduRXh0MzJUbzY0KExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4g
c2lnbkV4dCh2YWx1ZSwgaW50NjQpOyB9CiAgICAgTFZhbHVlIHplcm9FeHQoTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBidWlsZFpFeHQobV9idWlsZGVyLCB2YWx1ZSwgdHlwZSk7
IH0K
</data>
<flag name="review"
          id="292768"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>