<?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>38375</bug_id>
          
          <creation_ts>2010-04-29 23:04:24 -0700</creation_ts>
          <short_desc>Add codegen support for unsigned right shift</short_desc>
          <delta_ts>2010-04-30 00:56:53 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>219369</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-29 23:04:24 -0700</bug_when>
    <thetext>Add codegen support for unsigned right shift</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219374</commentid>
    <comment_count>1</comment_count>
      <attachid>54785</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-29 23:33:33 -0700</bug_when>
    <thetext>Created attachment 54785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219375</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-29 23:35:40 -0700</bug_when>
    <thetext>Attachment 54785 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
JavaScriptCore/assembler/MacroAssemblerARM.h:182:  shift_amount is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/MacroAssemblerX86Common.h:253:  shift_amount is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/X86Assembler.h:678:  shrl_i8r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/X86Assembler.h:688:  shrl_CLr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/MacroAssemblerARMv7.h:261:  shift_amount is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 5 in 9 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>219390</commentid>
    <comment_count>3</comment_count>
      <attachid>54785</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-04-30 00:31:33 -0700</bug_when>
    <thetext>Comment on attachment 54785
Patch

r+ with comments in irc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219397</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-30 00:56:53 -0700</bug_when>
    <thetext>Committed r58562: &lt;http://trac.webkit.org/changeset/58562&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54785</attachid>
            <date>2010-04-29 23:33:33 -0700</date>
            <delta_ts>2010-04-30 00:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38375-20100429233332.patch</filename>
            <type>text/plain</type>
            <size>20270</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBkMTlmZjI2YmYyMjJjODUyNzIwNjI4NWQ3OTAyYTJiNWFhODA0OGMwLi45
ZmY3ZWY4ZjU2OTBkYTc3NDMyYjI2YmIzOTJjODM3NmM3ODM5ZTcwIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsNDYgQEAKIDIwMTAtMDQtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY29k
ZWdlbiBzdXBwb3J0IGZvciB1bnNpZ25lZCByaWdodCBzaGlmdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzNzUKKworICAgICAgICBFeHBvc2UgdW5z
aWduZWQgcmlnaHQgc2hpZnQgaW4gdGhlIG1hY3JvIGFzc2VtYmxlciwgYW5kIG1ha2UgdXNlIG9m
IGl0CisgICAgICAgIGZyb20gdGhlIGppdC4gIEN1cnJlbnRseSBpZiB0aGUgcmVzdWx0IGlzIG91
dHNpZGUgdGhlIHJhbmdlIDAuLjJeMzEtMQorICAgICAgICB3ZSBzaW1wbHkgZmFsbCBiYWNrIHRv
IHRoZSBzbG93IGNhc2UsIGV2ZW4gaW4gSlNWQUxVRTY0IGFuZCBKU1ZBTFVFMzJfNjQKKyAgICAg
ICAgd2hlcmUgdGVjaG5pY2FsbHkgd2UgY291bGQgc3RpbGwgcmV0dXJuIGFuIGltbWVkaWF0ZSB2
YWx1ZS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6dXJzaGlmdDMyKToKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFS
TXY3Ojp1cnNoaWZ0MzIpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbi5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dXJzaGlmdDMy
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6Olg4
NkFzc2VtYmxlcjo6KToKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjpzaHJsX2k4cik6Cisg
ICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6c2hybF9DTHIpOgorICAgICAgICAgICBBZGQgdW5z
aWduZWQgcmlnaHQgc2hpZnQgdG8gdGhlIHg4NiBhc3NlbWJsZXIKKyAgICAgICAgKiBqaXQvSklU
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAgICAgICAgIG9wX3Jz
aGlmdCBubyBsb25nZXIgc2ltcGx5IGdldCB0aHJvd24gdG8gYSBzdHViIGZ1bmN0aW9uCisgICAg
ICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAgICAg
ICAgKEpTQzo6SklUOjplbWl0X29wX3Vyc2hpZnQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRT
bG93X29wX3Vyc2hpZnQpOgorICAgICAgICAgIEpTVkFMVUUzMiBhbmQgSlNWQUxVRTY0IGltcGxl
bWVudGF0aW9uLiAgT25seSBzdXBwb3J0cworICAgICAgICAgIGRvdWJsZSBsaHMgaW4gSlNWQUxV
RTY0LgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljMzJfNjQuY3BwOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRfb3BfcnNoaWZ0KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9y
c2hpZnQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfdXJzaGlmdCk6CisgICAgICAgIChK
U0M6OkpJVDo6ZW1pdFNsb3dfb3BfdXJzaGlmdCk6CisgICAgICAgICAgUmVmYWN0b3IgcmlnaHQg
c2hpZnQgY29kZSB0byBoYXZlIHNoYXJlZCBpbXBsZW1lbnRhdGlvbiBiZXR3ZWVuIHNpZ25lZAor
ICAgICAgICAgIGFuZCB1bnNpZ25lZCB2ZXJzaW9ucy4KKworMjAxMC0wNC0yOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJh
Y2xvdWdoLgogCiAgICAgICAgIEhhbmRsZSBkb3VibGUgb24gcmlnaHRoYW5kIHNpZGUgb2YgYSBy
aWdodCBzaGlmdApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0u
aAppbmRleCAzNGU2MGM2OGYyOTlhNWU5ZDkxZTA0ZDJlYjY5OWFhOTgzOWQ3MjZkLi5jOWM3MGQx
ZmQ3MDgyZGI0OGZhN2QzN2VjMTdlNzM0ZjZhNzYyZGEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApAQCAtMTc4LDYgKzE3OCwyMCBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzX3IoZGVzdCwgbV9hc3NlbWJsZXIuYXNy
KGRlc3QsIGltbS5tX3ZhbHVlICYgMHgxZikpOwogICAgIH0KKyAgICAKKyAgICB2b2lkIHVyc2hp
ZnQzMihSZWdpc3RlcklEIHNoaWZ0X2Ftb3VudCwgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAg
ICAgICAgQVJNV29yZCB3ID0gQVJNQXNzZW1ibGVyOjpnZXRPcDIoMHgxZik7CisgICAgICAgIEFT
U0VSVCh3ICE9IEFSTUFzc2VtYmxlcjo6SU5WQUxJRF9JTU0pOworICAgICAgICBtX2Fzc2VtYmxl
ci5hbmRfcihBUk1SZWdpc3RlcnM6OlMwLCBzaGlmdF9hbW91bnQsIHcpOworICAgICAgICAKKyAg
ICAgICAgbV9hc3NlbWJsZXIubW92c19yKGRlc3QsIG1fYXNzZW1ibGVyLmxzcl9yKGRlc3QsIEFS
TVJlZ2lzdGVyczo6UzApKTsKKyAgICB9CisgICAgCisgICAgdm9pZCB1cnNoaWZ0MzIoSW1tMzIg
aW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzX3Io
ZGVzdCwgbV9hc3NlbWJsZXIubHNyKGRlc3QsIGltbS5tX3ZhbHVlICYgMHgxZikpOworICAgIH0K
IAogICAgIHZvaWQgc3ViMzIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAppbmRl
eCAzYzU4YjkzZDBlNGJkMWZiZjNlNjgxZDhlZTE0NWUyMWI3ZTNjZTU3Li44YjQyMmVkZmRjMTcz
ODljOTBjNTVhZTc4ZTc4ZWM5Zjg4ODYxNjdhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTI1Nyw2ICsyNTcsMjEgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuYXNyKGRlc3QsIGRlc3QsIGltbS5tX3ZhbHVlICYg
MHgxZik7CiAgICAgfQorICAgIAorICAgIHZvaWQgdXJzaGlmdDMyKFJlZ2lzdGVySUQgc2hpZnRf
YW1vdW50LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBDbGFtcCB0aGUgc2hp
ZnQgdG8gdGhlIHJhbmdlIDAuLjMxCisgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGFybUltbSA9
IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlRW5jb2RlZEltbSgweDFmKTsKKyAgICAgICAgQVNTRVJU
KGFybUltbS5pc1ZhbGlkKCkpOworICAgICAgICBtX2Fzc2VtYmxlci5BUk1fYW5kKGRhdGFUZW1w
UmVnaXN0ZXIsIHNoaWZ0X2Ftb3VudCwgYXJtSW1tKTsKKyAgICAgICAgCisgICAgICAgIG1fYXNz
ZW1ibGVyLmxzcihkZXN0LCBkZXN0LCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICB9CisgICAgCisg
ICAgdm9pZCB1cnNoaWZ0MzIoSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAg
ICAgICBtX2Fzc2VtYmxlci5sc3IoZGVzdCwgZGVzdCwgaW1tLm1fdmFsdWUgJiAweDFmKTsKKyAg
ICB9CiAKICAgICB2b2lkIHN1YjMyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaAppbmRleCA5NTIyNTExMWRhOGQwYjdjNDA5M2I3OWZkYTNmMzg0OGRjNGM3MWY0Li4w
YjMyZTVkZDZkNmNiZTcyYTIyZDJlM2E4NTk5NzdjNWY4YzVlMGQ5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaApAQCAtMjQ5LDYg
KzI0OSwzMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5zYXJsX2k4cihp
bW0ubV92YWx1ZSwgZGVzdCk7CiAgICAgfQorICAgIAorICAgIHZvaWQgdXJzaGlmdDMyKFJlZ2lz
dGVySUQgc2hpZnRfYW1vdW50LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBP
biB4ODYgd2UgY2FuIG9ubHkgc2hpZnQgYnkgZWN4OyBpZiBhc2tlZCB0byBzaGlmdCBieSBhbm90
aGVyIHJlZ2lzdGVyIHdlJ2xsCisgICAgICAgIC8vIG5lZWQgcmVqaWcgdGhlIHNoaWZ0IGFtb3Vu
dCBpbnRvIGVjeCBmaXJzdCwgYW5kIHJlc3RvcmUgdGhlIHJlZ2lzdGVycyBhZnRlcndhcmRzLgor
ICAgICAgICBpZiAoc2hpZnRfYW1vdW50ICE9IFg4NlJlZ2lzdGVyczo6ZWN4KSB7CisgICAgICAg
ICAgICBzd2FwKHNoaWZ0X2Ftb3VudCwgWDg2UmVnaXN0ZXJzOjplY3gpOworICAgICAgICAgICAg
CisgICAgICAgICAgICAvLyBFLmcuIHRyYW5zZm9ybSAic2hybCAlZWF4LCAlZWF4IiAtPiAieGNo
Z2wgJWVheCwgJWVjeDsgc2hybCAlZWN4LCAlZWN4OyB4Y2hnbCAlZWF4LCAlZWN4IgorICAgICAg
ICAgICAgaWYgKGRlc3QgPT0gc2hpZnRfYW1vdW50KQorICAgICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnNocmxfQ0xyKFg4NlJlZ2lzdGVyczo6ZWN4KTsKKyAgICAgICAgICAgIC8vIEUuZy4gdHJh
bnNmb3JtICJzaHJsICVlYXgsICVlY3giIC0+ICJ4Y2hnbCAlZWF4LCAlZWN4OyBzaHJsICVlY3gs
ICVlYXg7IHhjaGdsICVlYXgsICVlY3giCisgICAgICAgICAgICBlbHNlIGlmIChkZXN0ID09IFg4
NlJlZ2lzdGVyczo6ZWN4KQorICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNocmxfQ0xyKHNo
aWZ0X2Ftb3VudCk7CisgICAgICAgICAgICAvLyBFLmcuIHRyYW5zZm9ybSAic2hybCAlZWF4LCAl
ZWJ4IiAtPiAieGNoZ2wgJWVheCwgJWVjeDsgc2hybCAlZWN4LCAlZWJ4OyB4Y2hnbCAlZWF4LCAl
ZWN4IgorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNocmxf
Q0xyKGRlc3QpOworICAgICAgICAgICAgCisgICAgICAgICAgICBzd2FwKHNoaWZ0X2Ftb3VudCwg
WDg2UmVnaXN0ZXJzOjplY3gpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnNocmxfQ0xyKGRlc3QpOworICAgIH0KKyAgICAKKyAgICB2b2lkIHVyc2hpZnQzMihJbW0z
MiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLnNocmxf
aThyKGltbS5tX3ZhbHVlLCBkZXN0KTsKKyAgICB9CiAKICAgICB2b2lkIHN1YjMyKFJlZ2lzdGVy
SUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4
NkFzc2VtYmxlci5oCmluZGV4IGM4MzNiYmMwMDY4YWQyZGU2N2FiMTcyZDg5NjU2NDk1OWFiMDU2
Y2MuLjIwZDcyZjVhNTU4NzNkZjE2NGU0ZmIxYTI5MDZjZmQ2OTUwODZlMzUgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgKQEAgLTIwMSw2ICsyMDEsNyBAQCBwcml2YXRl
OgogICAgICAgICBHUk9VUDFBX09QX1BPUCA9IDAsCiAKICAgICAgICAgR1JPVVAyX09QX1NITCA9
IDQsCisgICAgICAgIEdST1VQMl9PUF9TSFIgPSA1LAogICAgICAgICBHUk9VUDJfT1BfU0FSID0g
NywKIAogICAgICAgICBHUk9VUDNfT1BfVEVTVCA9IDAsCkBAIC02NzMsNiArNjc0LDIxIEBAIHB1
YmxpYzoKICAgICB7CiAgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVPcChPUF9HUk9VUDJfRXZD
TCwgR1JPVVAyX09QX1NBUiwgZHN0KTsKICAgICB9CisgICAgCisgICAgdm9pZCBzaHJsX2k4cihp
bnQgaW1tLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIGlmIChpbW0gPT0gMSkKKyAg
ICAgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVPcChPUF9HUk9VUDJfRXYxLCBHUk9VUDJfT1Bf
U0hSLCBkc3QpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5
dGVPcChPUF9HUk9VUDJfRXZJYiwgR1JPVVAyX09QX1NIUiwgZHN0KTsKKyAgICAgICAgICAgIG1f
Zm9ybWF0dGVyLmltbWVkaWF0ZTgoaW1tKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICB2
b2lkIHNocmxfQ0xyKFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIu
b25lQnl0ZU9wKE9QX0dST1VQMl9FdkNMLCBHUk9VUDJfT1BfU0hSLCBkc3QpOworICAgIH0KIAog
ICAgIHZvaWQgc2hsbF9pOHIoaW50IGltbSwgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcAppbmRleCBlYzIzZDhjZTYzOGU1YzY5OGYyYzUyMjY0MWUwZjIxNzM4MjcwNzRmLi5hNTky
M2Y1YTk0MjY3MWRiNWZkYTU2NWY4ZWYyODEwZjFmYzlkYmZlIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAt
MjAwLDcgKzIwMCw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAg
ICAgREVGSU5FX0JJTkFSWV9PUChvcF9pbikKICAgICAgICAgREVGSU5FX0JJTkFSWV9PUChvcF9s
ZXNzKQogICAgICAgICBERUZJTkVfQklOQVJZX09QKG9wX2xlc3NlcSkKLSAgICAgICAgREVGSU5F
X0JJTkFSWV9PUChvcF91cnNoaWZ0KQogICAgICAgICBERUZJTkVfVU5BUllfT1Aob3BfaXNfYm9v
bGVhbikKICAgICAgICAgREVGSU5FX1VOQVJZX09QKG9wX2lzX2Z1bmN0aW9uKQogICAgICAgICBE
RUZJTkVfVU5BUllfT1Aob3BfaXNfbnVtYmVyKQpAQCAtMzAxLDYgKzMwMCw3IEBAIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3Jlc29sdmVf
d2l0aF9iYXNlKQogICAgICAgICBERUZJTkVfT1Aob3BfcmV0KQogICAgICAgICBERUZJTkVfT1Ao
b3BfcnNoaWZ0KQorICAgICAgICBERUZJTkVfT1Aob3BfdXJzaGlmdCkKICAgICAgICAgREVGSU5F
X09QKG9wX3NyZXQpCiAgICAgICAgIERFRklORV9PUChvcF9zdHJjYXQpCiAgICAgICAgIERFRklO
RV9PUChvcF9zdHJpY3RlcSkKQEAgLTQyNyw2ICs0MjcsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVTbG93Q2FzZXMoKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfcmVzb2x2ZV9n
bG9iYWwpCiAjZW5kaWYKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX3JzaGlmdCkKKyAg
ICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX3Vyc2hpZnQpCiAgICAgICAgIERFRklORV9TTE9X
Q0FTRV9PUChvcF9zdHJpY3RlcSkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX3N1YikK
ICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX3RvX2pzbnVtYmVyKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4
IDIyZTdhYmFkY2U1ODgzOTBhN2QyN2U5MWU1Y2Y0MDI1YTgyNzZlZmIuLmRiZDMxMWI0YWQ4MDVi
NmY5MmM1NjYzN2JlYmJiN2I0OTUxMjYwMjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTczNCw2ICs3MzQsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX3RvX2pzbnVtYmVyKEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF90b19wcmltaXRpdmUoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX3VuZXhwZWN0ZWRfbG9hZChJbnN0cnVjdGlvbiopOwor
ICAgICAgICB2b2lkIGVtaXRfb3BfdXJzaGlmdChJbnN0cnVjdGlvbiopOwogI2lmIEVOQUJMRShK
SVRfT1BUSU1JWkVfTU9EKQogICAgICAgICB2b2lkIHNvZnRNb2R1bG8oKTsKICNlbmRpZgpAQCAt
Nzg0LDYgKzc4NSwxMSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0U2xvd19v
cF9zdWIoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAg
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfdG9fanNudW1iZXIoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8
U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfdG9f
cHJpbWl0aXZlKEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYp
OworICAgICAgICB2b2lkIGVtaXRTbG93X29wX3Vyc2hpZnQoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8
U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CisKKyAgICAgICAgCisgICAgICAgIHZvaWQgZW1p
dFJpZ2h0U2hpZnQoSW5zdHJ1Y3Rpb24qLCBib29sIGlzVW5zaWduZWQpOworICAgICAgICB2b2lk
IGVtaXRSaWdodFNoaWZ0U2xvd0Nhc2UoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRy
eT46Oml0ZXJhdG9yJiwgYm9vbCBpc1Vuc2lnbmVkKTsKIAogICAgICAgICAvKiBUaGVzZSBmdW5j
dGlvbnMgYXJlIGRlcHJlY2F0ZWQ6IFBsZWFzZSB1c2UgSklUU3R1YkNhbGwgaW5zdGVhZC4gKi8K
ICAgICAgICAgdm9pZCBlbWl0UHV0SklUU3R1YkFyZyhSZWdpc3RlcklEIHNyYywgdW5zaWduZWQg
YXJndW1lbnROdW1iZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRo
bWV0aWMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCmluZGV4IDYx
ZDBlMWY5ZDhlMTg0MWNmZTc0NWM3MTRjODIxMDM0YTMzYTg0NzkuLmJkYjQ5YjFjZmRmNDMxOWJj
MzZkOWE4ODU0NzYyNThkODVjNWEyODYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRBcml0aG1ldGljLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5j
cHAKQEAgLTE4Nyw2ICsxODcsMTE2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9yc2hpZnQoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50CiAgICAgc3R1
YkNhbGwuY2FsbChyZXN1bHQpOwogfQogCit2b2lkIEpJVDo6ZW1pdF9vcF91cnNoaWZ0KEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgdW5zaWduZWQgZHN0ID0gY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyAgICB1bnNpZ25lZCBvcDEgPSBjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworICAgIHVuc2lnbmVkIG9wMiA9IGN1cnJlbnRJbnN0cnVj
dGlvblszXS51Lm9wZXJhbmQ7CisKKyAgICAvLyBTbG93IGNhc2Ugb2YgdXJzaGlmdCBtYWtlcyBh
c3N1bXB0aW9ucyBhYm91dCB3aGF0IHJlZ2lzdGVycyBob2xkIHRoZQorICAgIC8vIHNoaWZ0IGFy
Z3VtZW50cywgc28gYW55IGNoYW5nZXMgbXVzdCBiZSB1cGRhdGVkIHRoZXJlIGFzIHdlbGwuCisg
ICAgaWYgKGlzT3BlcmFuZENvbnN0YW50SW1tZWRpYXRlSW50KG9wMikpIHsKKyAgICAgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihvcDEsIHJlZ1QwKTsKKyAgICAgICAgZW1pdEp1bXBTbG93Q2Fz
ZUlmTm90SW1tZWRpYXRlSW50ZWdlcihyZWdUMCk7CisgICAgICAgIGVtaXRGYXN0QXJpdGhJbW1U
b0ludChyZWdUMCk7CisgICAgICAgIGludCBzaGlmdCA9IGdldENvbnN0YW50T3BlcmFuZChvcDIp
LmFzSW50MzIoKTsKKyAgICAgICAgdXJzaGlmdDMyKEltbTMyKHNoaWZ0KSwgcmVnVDApOworICAg
ICAgICAvLyB1bnNpZ25lZCBzaGlmdCA8IDAgb3Igc2hpZnQgPSBrKjJeMzIgbWF5IHJlc3VsdCBp
biAoZXNzZW50aWFsbHkpCisgICAgICAgIC8vIGEgdG9VaW50IGNvbnZlcnNpb24sIHdoaWNoIGNh
biByZXN1bHQgaW4gYSB2YWx1ZSB3ZSBjYW4gcmVwcmVzZW50CisgICAgICAgIC8vIGFzIGFuIGlt
bWVkaWF0ZSBpbnQuCisgICAgICAgIGlmIChzaGlmdCA8IDAgfHwgIShzaGlmdCAmIDMxKSkKKyAg
ICAgICAgICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKExlc3NUaGFuLCByZWdUMCwgSW1tMzIoMCkp
KTsKKyNpZiBVU0UoSlNWQUxVRTMyKQorICAgICAgICBhZGRTbG93Q2FzZShicmFuY2hBZGQzMihP
dmVyZmxvdywgcmVnVDAsIHJlZ1QwKSk7CisgICAgICAgIHNpZ25FeHRlbmQzMlRvUHRyKHJlZ1Qw
LCByZWdUMCk7CisjZW5kaWYKKyAgICAgICAgZW1pdEZhc3RBcml0aFJlVGFnSW1tZWRpYXRlKHJl
Z1QwLCByZWdUMCk7CisgICAgICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0LCByZWdUMCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcnMob3Ax
LCByZWdUMCwgb3AyLCByZWdUMSk7CisgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEltbWVkaWF0
ZUludChvcDEpKQorICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVJbnRlZ2Vy
KHJlZ1QwKTsKKyAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVJbnRlZ2VyKHJlZ1Qx
KTsKKyAgICBlbWl0RmFzdEFyaXRoSW1tVG9JbnQocmVnVDApOworICAgIGVtaXRGYXN0QXJpdGhJ
bW1Ub0ludChyZWdUMSk7CisgICAgdXJzaGlmdDMyKHJlZ1QxLCByZWdUMCk7CisgICAgYWRkU2xv
d0Nhc2UoYnJhbmNoMzIoTGVzc1RoYW4sIHJlZ1QwLCBJbW0zMigwKSkpOworI2lmIFVTRShKU1ZB
TFVFMzIpCisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoQWRkMzIoT3ZlcmZsb3csIHJlZ1QwLCByZWdU
MCkpOworICAgIHNpZ25FeHRlbmQzMlRvUHRyKHJlZ1QwLCByZWdUMCk7CisjZW5kaWYKKyAgICBl
bWl0RmFzdEFyaXRoUmVUYWdJbW1lZGlhdGUocmVnVDAsIHJlZ1QwKTsKKyAgICBlbWl0UHV0Vmly
dHVhbFJlZ2lzdGVyKGRzdCwgcmVnVDApOworfQorCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfdXJz
aGlmdChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRy
eT46Oml0ZXJhdG9yJiBpdGVyKQoreworICAgIHVuc2lnbmVkIGRzdCA9IGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQ7CisgICAgdW5zaWduZWQgb3AxID0gY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZDsKKyAgICB1bnNpZ25lZCBvcDIgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kOworICAgIGlmIChpc09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUludChvcDIpKSB7
CisgICAgICAgIGludCBzaGlmdCA9IGdldENvbnN0YW50T3BlcmFuZChvcDIpLmFzSW50MzIoKTsK
KyAgICAgICAgLy8gb3AxID0gcmVnVDAKKyAgICAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBp
bnQzMiBjaGVjaworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIGlmIChzdXBwb3J0c0Zsb2F0
aW5nUG9pbnRUcnVuY2F0ZSgpKSB7CisgICAgICAgICAgICBKdW1wTGlzdCBmYWlsdXJlczsKKyAg
ICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChlbWl0SnVtcElmTm90SW1tZWRpYXRlTnVtYmVyKHJl
Z1QwKSk7IC8vIG9wMSBpcyBub3QgYSBkb3VibGUKKyAgICAgICAgICAgIGFkZFB0cih0YWdUeXBl
TnVtYmVyUmVnaXN0ZXIsIHJlZ1QwKTsKKyAgICAgICAgICAgIG1vdmVQdHJUb0RvdWJsZShyZWdU
MCwgZnBSZWdUMCk7CisgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQoYnJhbmNoVHJ1bmNhdGVE
b3VibGVUb0ludDMyKGZwUmVnVDAsIHJlZ1QwKSk7CisgICAgICAgICAgICB1cnNoaWZ0MzIoSW1t
MzIoc2hpZnQpLCByZWdUMCk7CisgICAgICAgICAgICBpZiAoc2hpZnQgPCAwIHx8ICEoc2hpZnQg
JiAzMSkpCisgICAgICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGJyYW5jaDMyKExlc3NUaGFu
LCByZWdUMCwgSW1tMzIoMCkpKTsKKyAgICAgICAgICAgIGVtaXRGYXN0QXJpdGhSZVRhZ0ltbWVk
aWF0ZShyZWdUMCwgcmVnVDApOworICAgICAgICAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihk
c3QsIHJlZ1QwKTsKKyAgICAgICAgICAgIGVtaXRKdW1wU2xvd1RvSG90KGp1bXAoKSwgT1BDT0RF
X0xFTkdUSChvcF9yc2hpZnQpKTsKKyAgICAgICAgICAgIGZhaWx1cmVzLmxpbmsodGhpcyk7Cisg
ICAgICAgIH0KKyNlbmRpZiAvLyBKU1ZBTFVFNjQKKyAgICAgICAgaWYgKHNoaWZ0IDwgMCB8fCAh
KHNoaWZ0ICYgMzEpKQorICAgICAgICAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBmYWlsZWQg
dG8gYm94IGluIGhvdCBwYXRoCisjaWYgVVNFKEpTVkFMVUUzMikKKyAgICAgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOyAvLyBDb3VsZG4ndCBib3ggcmVzdWx0CisjZW5kaWYKKyAgICB9IGVsc2Ugewor
ICAgICAgICAvLyBvcDEgPSByZWdUMAorICAgICAgICAvLyBvcDIgPSByZWdUMQorICAgICAgICBp
ZiAoIWlzT3BlcmFuZENvbnN0YW50SW1tZWRpYXRlSW50KG9wMSkpIHsKKyAgICAgICAgICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsgLy8gaW50MzIgY2hlY2sgLS0gb3AxIGlzIG5vdCBhbiBpbnQKKyNp
ZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICAgICAgaWYgKHN1cHBvcnRzRmxvYXRpbmdQb2ludFRy
dW5jYXRlKCkpIHsKKyAgICAgICAgICAgICAgICBKdW1wTGlzdCBmYWlsdXJlczsKKyAgICAgICAg
ICAgICAgICBmYWlsdXJlcy5hcHBlbmQoZW1pdEp1bXBJZk5vdEltbWVkaWF0ZU51bWJlcihyZWdU
MCkpOyAvLyBvcDEgaXMgbm90IGEgZG91YmxlCisgICAgICAgICAgICAgICAgYWRkUHRyKHRhZ1R5
cGVOdW1iZXJSZWdpc3RlciwgcmVnVDApOworICAgICAgICAgICAgICAgIG1vdmVQdHJUb0RvdWJs
ZShyZWdUMCwgZnBSZWdUMCk7CisgICAgICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGJyYW5j
aFRydW5jYXRlRG91YmxlVG9JbnQzMihmcFJlZ1QwLCByZWdUMCkpOworICAgICAgICAgICAgICAg
IGZhaWx1cmVzLmFwcGVuZChlbWl0SnVtcElmTm90SW1tZWRpYXRlSW50ZWdlcihyZWdUMSkpOyAv
LyBvcDIgaXMgbm90IGFuIGludAorICAgICAgICAgICAgICAgIGVtaXRGYXN0QXJpdGhJbW1Ub0lu
dChyZWdUMSk7CisgICAgICAgICAgICAgICAgdXJzaGlmdDMyKHJlZ1QxLCByZWdUMCk7CisgICAg
ICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGJyYW5jaDMyKExlc3NUaGFuLCByZWdUMCwgSW1t
MzIoMCkpKTsKKyAgICAgICAgICAgICAgICBlbWl0RmFzdEFyaXRoUmVUYWdJbW1lZGlhdGUocmVn
VDAsIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCwg
cmVnVDApOworICAgICAgICAgICAgICAgIGVtaXRKdW1wU2xvd1RvSG90KGp1bXAoKSwgT1BDT0RF
X0xFTkdUSChvcF9yc2hpZnQpKTsKKyAgICAgICAgICAgICAgICBmYWlsdXJlcy5saW5rKHRoaXMp
OworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsgLy8gaW50MzIgY2hlY2sgLSBvcDIgaXMgbm90IGFuIGludAorICAg
ICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIENhbid0IHJlcHJlc2VudCB1bnNpZ25lZCByZXN1
bHQgYXMgYW4gaW1tZWRpYXRlCisjaWYgVVNFKEpTVkFMVUUzMikKKyAgICAgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOyAvLyBDb3VsZG4ndCBib3ggcmVzdWx0CisjZW5kaWYKKyAgICB9CisgICAgCisg
ICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX3Vyc2hpZnQpOworICAgIHN0dWJD
YWxsLmFkZEFyZ3VtZW50KG9wMSwgcmVnVDApOworICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KG9w
MiwgcmVnVDEpOworICAgIHN0dWJDYWxsLmNhbGwoZHN0KTsKK30KKwogdm9pZCBKSVQ6OmVtaXRf
b3Bfam5sZXNzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CiAgICAgdW5zaWdu
ZWQgb3AxID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljMzJfNjQuY3BwIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVEFyaXRobWV0aWMzMl82NC5jcHAKaW5kZXggZGFiNWUzOTUzZTMzZDUxZjRmYzE4YmVh
MjZjMGJhODViMmY3MjhkYS4uNjJhZjg0NzcxMzY3ZmZhOGFiZjA0NmVmMGFmYjdkNTEzODIzNWIz
MCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMzMl82NC5jcHAK
KysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMzMl82NC5jcHAKQEAgLTMxNCw5
ICszMTQsOSBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbHNoaWZ0KEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudAogICAgIHN0dWJDYWxsLmNhbGwoZHN0
KTsKIH0KIAotLy8gUmlnaHRTaGlmdCAoPj4pCisvLyBSaWdodFNoaWZ0ICg+PikgYW5kIFVuc2ln
bmVkUmlnaHRTaGlmdCAoPj4+KSBoZWxwZXIKIAotdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0KElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdFJpZ2h0U2hpZnQo
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgYm9vbCBpc1Vuc2lnbmVkKQogewogICAg
IHVuc2lnbmVkIGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAgICAgdW5z
aWduZWQgb3AxID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKQEAgLTMyNyw3ICsz
MjcsMTcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgaWYgKGlzT3BlcmFuZENvbnN0YW50SW1tZWRpYXRlSW50KG9wMikpIHsK
ICAgICAgICAgZW1pdExvYWQob3AxLCByZWdUMSwgcmVnVDApOwogICAgICAgICBhZGRTbG93Q2Fz
ZShicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSkpOwot
ICAgICAgICByc2hpZnQzMihJbW0zMihnZXRDb25zdGFudE9wZXJhbmQob3AyKS5hc0ludDMyKCkp
LCByZWdUMCk7CisgICAgICAgIGludCBzaGlmdCA9IGdldENvbnN0YW50T3BlcmFuZChvcDIpLmFz
SW50MzIoKTsKKyAgICAgICAgaWYgKGlzVW5zaWduZWQpIHsKKyAgICAgICAgICAgIHVyc2hpZnQz
MihJbW0zMihzaGlmdCksIHJlZ1QwKTsKKyAgICAgICAgICAgIC8vIHVuc2lnbmVkIHNoaWZ0IDwg
MCBvciBzaGlmdCA9IGsqMl4zMiBtYXkgcmVzdWx0IGluIChlc3NlbnRpYWxseSkKKyAgICAgICAg
ICAgIC8vIGEgdG9VaW50IGNvbnZlcnNpb24sIHdoaWNoIGNhbiByZXN1bHQgaW4gYSB2YWx1ZSB3
ZSBjYW4gcmVwcmVzZW50CisgICAgICAgICAgICAvLyBhcyBhbiBpbW1lZGlhdGUgaW50LgorICAg
ICAgICAgICAgaWYgKHNoaWZ0IDwgMCB8fCAhKHNoaWZ0ICYgMzEpKQorICAgICAgICAgICAgICAg
IGFkZFNsb3dDYXNlKGJyYW5jaDMyKExlc3NUaGFuLCByZWdUMCwgSW1tMzIoMCkpKTsKKyAgICAg
ICAgfSBlbHNlIGlmIChzaGlmdCkgeyAvLyBzaWduZWQgcmlnaHQgc2hpZnQgYnkgemVybyBpcyBz
aW1wbHkgdG9JbnQgY29udmVyc2lvbgorICAgICAgICAgICAgcnNoaWZ0MzIoSW1tMzIoc2hpZnQp
LCByZWdUMCk7CisgICAgICAgIH0KICAgICAgICAgZW1pdFN0b3JlSW50MzIoZHN0LCByZWdUMCwg
ZHN0ID09IG9wMSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zMzYsMjggKzM0Niw0MCBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9yc2hpZnQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKICAgICBpZiAoIWlzT3BlcmFuZENvbnN0YW50SW1tZWRpYXRlSW50KG9wMSkpCiAgICAgICAg
IGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMSwgSW1tMzIoSlNWYWx1ZTo6SW50
MzJUYWcpKSk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoTm90RXF1YWwsIHJlZ1QzLCBJbW0z
MihKU1ZhbHVlOjpJbnQzMlRhZykpKTsKLSAgICByc2hpZnQzMihyZWdUMiwgcmVnVDApOworICAg
IGlmIChpc1Vuc2lnbmVkKSB7CisgICAgICAgIHVyc2hpZnQzMihyZWdUMiwgcmVnVDApOworICAg
ICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihMZXNzVGhhbiwgcmVnVDAsIEltbTMyKDApKSk7Cisg
ICAgfSBlbHNlCisgICAgICAgIHJzaGlmdDMyKHJlZ1QyLCByZWdUMCk7CiAgICAgZW1pdFN0b3Jl
SW50MzIoZHN0LCByZWdUMCwgZHN0ID09IG9wMSB8fCBkc3QgPT0gb3AyKTsKIH0KIAotdm9pZCBK
SVQ6OmVtaXRTbG93X29wX3JzaGlmdChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBW
ZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQordm9pZCBKSVQ6OmVtaXRSaWdo
dFNoaWZ0U2xvd0Nhc2UoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlciwgYm9vbCBpc1Vuc2lnbmVkKQogewogICAgIHVu
c2lnbmVkIGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAgICAgdW5zaWdu
ZWQgb3AxID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICB1bnNpZ25lZCBv
cDIgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwogICAgIGlmIChpc09wZXJhbmRD
b25zdGFudEltbWVkaWF0ZUludChvcDIpKSB7CisgICAgICAgIGludCBzaGlmdCA9IGdldENvbnN0
YW50T3BlcmFuZChvcDIpLmFzSW50MzIoKTsKICAgICAgICAgLy8gb3AxID0gcmVnVDE6cmVnVDAK
ICAgICAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBpbnQzMiBjaGVjawogICAgICAgICBpZiAo
c3VwcG9ydHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUoKSkgewotICAgICAgICAgICAgSnVtcCBub3RE
b3VibGUgPSBicmFuY2gzMihBYm92ZU9yRXF1YWwsIHJlZ1QxLCBJbW0zMihKU1ZhbHVlOjpMb3dl
c3RUYWcpKTsKKyAgICAgICAgICAgIEp1bXBMaXN0IGZhaWx1cmVzOworICAgICAgICAgICAgZmFp
bHVyZXMuYXBwZW5kKGJyYW5jaDMyKEFib3ZlT3JFcXVhbCwgcmVnVDEsIEltbTMyKEpTVmFsdWU6
Okxvd2VzdFRhZykpKTsKICAgICAgICAgICAgIGVtaXRMb2FkRG91YmxlKG9wMSwgZnBSZWdUMCk7
Ci0gICAgICAgICAgICBKdW1wIHRydW5jYXRpb25GYWlsZWQgPSBicmFuY2hUcnVuY2F0ZURvdWJs
ZVRvSW50MzIoZnBSZWdUMCwgcmVnVDApOwotICAgICAgICAgICAgcnNoaWZ0MzIoSW1tMzIoZ2V0
Q29uc3RhbnRPcGVyYW5kKG9wMikuYXNJbnQzMigpKSwgcmVnVDApOworICAgICAgICAgICAgZmFp
bHVyZXMuYXBwZW5kKGJyYW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMihmcFJlZ1QwLCByZWdUMCkp
OworICAgICAgICAgICAgaWYgKGlzVW5zaWduZWQpIHsKKyAgICAgICAgICAgICAgICB1cnNoaWZ0
MzIoSW1tMzIoc2hpZnQpLCByZWdUMCk7CisgICAgICAgICAgICAgICAgaWYgKHNoaWZ0IDwgMCB8
fCAhKHNoaWZ0ICYgMzEpKQorICAgICAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQoYnJh
bmNoMzIoTGVzc1RoYW4sIHJlZ1QwLCBJbW0zMigwKSkpOworICAgICAgICAgICAgfSBlbHNlIGlm
IChzaGlmdCkKKyAgICAgICAgICAgICAgICByc2hpZnQzMihJbW0zMihzaGlmdCksIHJlZ1QwKTsK
ICAgICAgICAgICAgIGVtaXRTdG9yZUludDMyKGRzdCwgcmVnVDAsIGRzdCA9PSBvcDEgfHwgZHN0
ID09IG9wMik7CiAgICAgICAgICAgICBlbWl0SnVtcFNsb3dUb0hvdChqdW1wKCksIE9QQ09ERV9M
RU5HVEgob3BfcnNoaWZ0KSk7Ci0gICAgICAgICAgICBub3REb3VibGUubGluayh0aGlzKTsKLSAg
ICAgICAgICAgIHRydW5jYXRpb25GYWlsZWQubGluayh0aGlzKTsKKyAgICAgICAgICAgIGZhaWx1
cmVzLmxpbmsodGhpcyk7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKGlzVW5zaWduZWQgJiYgKHNo
aWZ0IDwgMCB8fCAhKHNoaWZ0ICYgMzEpKSkKKyAgICAgICAgICAgIGxpbmtTbG93Q2FzZShpdGVy
KTsgLy8gZmFpbGVkIHRvIGJveCBpbiBob3QgcGF0aAogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IG9wMSA9IHJlZ1QxOnJlZ1QwCiAgICAgICAgIC8vIG9wMiA9IHJlZ1QzOnJlZ1QyCkBAIC0zNjgs
NyArMzkwLDEwIEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9yc2hpZnQoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50CiAgICAgICAgICAgICAgICAgZW1p
dExvYWREb3VibGUob3AxLCBmcFJlZ1QwKTsKICAgICAgICAgICAgICAgICBKdW1wIG5vdEludCA9
IGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMywgSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKTsgLy8g
b3AyIGlzIG5vdCBhbiBpbnQKICAgICAgICAgICAgICAgICBKdW1wIGNhbnRUcnVuY2F0ZSA9IGJy
YW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMihmcFJlZ1QwLCByZWdUMCk7Ci0gICAgICAgICAgICAg
ICAgcnNoaWZ0MzIocmVnVDIsIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNVbnNpZ25l
ZCkKKyAgICAgICAgICAgICAgICAgICAgdXJzaGlmdDMyKHJlZ1QyLCByZWdUMCk7CisgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICByc2hpZnQzMihyZWdUMiwgcmVnVDAp
OwogICAgICAgICAgICAgICAgIGVtaXRTdG9yZUludDMyKGRzdCwgcmVnVDAsIGRzdCA9PSBvcDEg
fHwgZHN0ID09IG9wMik7CiAgICAgICAgICAgICAgICAgZW1pdEp1bXBTbG93VG9Ib3QoanVtcCgp
LCBPUENPREVfTEVOR1RIKG9wX3JzaGlmdCkpOwogICAgICAgICAgICAgICAgIG5vdERvdWJsZS5s
aW5rKHRoaXMpOwpAQCAtMzc4LDE0ICs0MDMsNDAgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3Jz
aGlmdChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnQK
ICAgICAgICAgfQogCiAgICAgICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gaW50MzIgY2hlY2sg
LSBvcDIgaXMgbm90IGFuIGludAorICAgICAgICBpZiAoaXNVbnNpZ25lZCkKKyAgICAgICAgICAg
IGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gQ2FuJ3QgcmVwcmVzZW50IHVuc2lnbmVkIHJlc3VsdCBh
cyBhbiBpbW1lZGlhdGUKICAgICB9CiAKLSAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBj
dGlfb3BfcnNoaWZ0KTsKKyAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBpc1Vuc2lnbmVk
ID8gY3RpX29wX3Vyc2hpZnQgOiBjdGlfb3BfcnNoaWZ0KTsKICAgICBzdHViQ2FsbC5hZGRBcmd1
bWVudChvcDEpOwogICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KG9wMik7CiAgICAgc3R1YkNhbGwu
Y2FsbChkc3QpOwogfQogCisvLyBSaWdodFNoaWZ0ICg+PikKKwordm9pZCBKSVQ6OmVtaXRfb3Bf
cnNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgZW1pdFJpZ2h0
U2hpZnQoY3VycmVudEluc3RydWN0aW9uLCBmYWxzZSk7Cit9CisKK3ZvaWQgSklUOjplbWl0U2xv
d19vcF9yc2hpZnQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dD
YXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKK3sKKyAgICBlbWl0UmlnaHRTaGlmdFNsb3dDYXNl
KGN1cnJlbnRJbnN0cnVjdGlvbiwgaXRlciwgZmFsc2UpOworfQorCisvLyBVbnNpZ25lZFJpZ2h0
U2hpZnQgKD4+PikKKwordm9pZCBKSVQ6OmVtaXRfb3BfdXJzaGlmdChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQoreworICAgIGVtaXRSaWdodFNoaWZ0KGN1cnJlbnRJbnN0cnVjdGlv
biwgdHJ1ZSk7Cit9CisKK3ZvaWQgSklUOjplbWl0U2xvd19vcF91cnNoaWZ0KEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0
ZXIpCit7CisgICAgZW1pdFJpZ2h0U2hpZnRTbG93Q2FzZShjdXJyZW50SW5zdHJ1Y3Rpb24sIGl0
ZXIsIHRydWUpOworfQorCiAvLyBCaXRBbmQgKCYpCiAKIHZvaWQgSklUOjplbWl0X29wX2JpdGFu
ZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQo=
</data>
<flag name="review"
          id="38826"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>