<?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>63840</bug_id>
          
          <creation_ts>2011-07-01 13:42:09 -0700</creation_ts>
          <short_desc>Switch overflow and collapsedMargins to new layout types</short_desc>
          <delta_ts>2011-07-01 15:31:41 -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>Layout and Rendering</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>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431405</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-01 13:42:09 -0700</bug_when>
    <thetext>More simple switchover.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431417</commentid>
    <comment_count>1</comment_count>
      <attachid>99517</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-01 13:49:47 -0700</bug_when>
    <thetext>Created attachment 99517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431418</commentid>
    <comment_count>2</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-07-01 13:51:18 -0700</bug_when>
    <thetext>I&apos;m surprised I&apos;m still finding random function prototypes without definitions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431490</commentid>
    <comment_count>3</comment_count>
      <attachid>99517</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 15:31:36 -0700</bug_when>
    <thetext>Comment on attachment 99517
Patch

Clearing flags on attachment: 99517

Committed r90288: &lt;http://trac.webkit.org/changeset/90288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431491</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 15:31:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99517</attachid>
            <date>2011-07-01 13:49:47 -0700</date>
            <delta_ts>2011-07-01 15:31:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63840-20110701134946.patch</filename>
            <type>text/plain</type>
            <size>21937</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMjcyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzIgQEAKKzIwMTEtMDctMDEgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBvdmVyZmxvdyBh
bmQgY29sbGFwc2VkTWFyZ2lucyB0byBuZXcgbGF5b3V0IHR5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaGluZyBvdmVyZmxvdyBhbmQgY29s
bGFwc2VkTWFyZ2lucyBvdmVyIHRvIHRoZSBuZXcgbGF5b3V0IHVuaXQgYWJzdHJhY3Rpb24uCisK
KyAgICAgICAgQWxzbyByZW1vdmluZyBhbiB1bnVzZWQgZnVuY3Rpb246IGJsb2NrRGlyZWN0aW9u
T3ZlcmZsb3cKKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdl
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6Y29sbGFwc2VkTWFyZ2luQmVmb3JlRm9yQ2hpbGQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbGxhcHNlZE1hcmdpbkFmdGVyRm9yQ2hpbGQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmNvbGxhcHNlZE1hcmdpbkJlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6Y29sbGFwc2VkTWFyZ2luQWZ0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRPdmVyZmxvd0Zyb21D
aGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFkZExheW91dE92ZXJmbG93KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZsb3cpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
bGF5b3V0T3ZlcmZsb3dSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWluWUxh
eW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWF4WUxheW91dE92
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWluWExheW91dE92ZXJmbG93
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWF4WExheW91dE92ZXJmbG93KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWF4TGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94Ojpsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp2aXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94OjptaW5ZVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjptYXhZVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjptaW5YVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpt
YXhYVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRP
dmVyZmxvd0Zyb21DaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbGxhcHNl
ZE1hcmdpbkJlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbGxhcHNlZE1h
cmdpbkFmdGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpSZW5kZXJPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6bWluWUxheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck92ZXJmbG93OjptYXhZTGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyT3ZlcmZsb3c6Om1pblhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPdmVyZmxvdzo6bWF4WExheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck92ZXJmbG93OjptaW5ZVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT3ZlcmZsb3c6Om1heFlWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPdmVyZmxvdzo6bWluWFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck92ZXJmbG93OjptYXhYVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyT3ZlcmZsb3c6OnNldE1pbllMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPdmVyZmxvdzo6c2V0TWF4WUxheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck92ZXJmbG93OjpzZXRNaW5YTGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyT3ZlcmZsb3c6OnNldE1heFhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6c2V0TWluWVZpc3VhbE92ZXJmbG93KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpzZXRNYXhZVmlzdWFsT3ZlcmZsb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OnNldE1pblhWaXN1YWxPdmVyZmxvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6c2V0TWF4WFZpc3VhbE92ZXJmbG93KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpsYXlvdXRPdmVyZmxvd1JlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OnZpc3VhbE92ZXJmbG93UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6bW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPdmVyZmxvdzo6YWRkTGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT3ZlcmZsb3c6OmFkZFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck92ZXJmbG93OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
dmVyZmxvdzo6c2V0VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT3Zl
cmZsb3c6OnJlc2V0TGF5b3V0T3ZlcmZsb3cpOgorCiAyMDExLTA3LTAxICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgY2xlYW51cCBvZiBmbGV4Ym94IGFuZCBtYXJx
dWVlIGRhdGEgbmFtaW5nIGluIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gOTAyNTApCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02MDg4LDcgKzYwODgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25G
b3JQCiAgICAgfSAgCiB9CiAKLWludCBSZW5kZXJCbG9jazo6Y29sbGFwc2VkTWFyZ2luQmVmb3Jl
Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6
OmNvbGxhcHNlZE1hcmdpbkJlZm9yZUZvckNoaWxkKFJlbmRlckJveCogY2hpbGQpIGNvbnN0CiB7
CiAgICAgLy8gSWYgdGhlIGNoaWxkIGhhcyB0aGUgc2FtZSBkaXJlY3Rpb25hbGl0eSBhcyB3ZSBk
bywgdGhlbiB3ZSBjYW4ganVzdCByZXR1cm4gaXRzCiAgICAgLy8gY29sbGFwc2VkIG1hcmdpbi4K
QEAgLTYxMDUsNyArNjEwNSw3IEBAIGludCBSZW5kZXJCbG9jazo6Y29sbGFwc2VkTWFyZ2luQmVm
b3JlRm8KICAgICByZXR1cm4gbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQpOwogfQogCi1pbnQg
UmVuZGVyQmxvY2s6OmNvbGxhcHNlZE1hcmdpbkFmdGVyRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGls
ZCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlZE1hcmdpbkFmdGVyRm9y
Q2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3QKIHsKICAgICAvLyBJZiB0aGUgY2hpbGQgaGFz
IHRoZSBzYW1lIGRpcmVjdGlvbmFsaXR5IGFzIHdlIGRvLCB0aGVuIHdlIGNhbiBqdXN0IHJldHVy
biBpdHMKICAgICAvLyBjb2xsYXBzZWQgbWFyZ2luLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDkwMjUwKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2Nyw4ICszNjcsOCBAQCBw
cml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGZDb2xsYXBzaW5nQmxvY2soKSBj
b25zdDsKIAotICAgIHZpcnR1YWwgaW50IGNvbGxhcHNlZE1hcmdpbkJlZm9yZSgpIGNvbnN0IHsg
cmV0dXJuIG1heFBvc2l0aXZlTWFyZ2luQmVmb3JlKCkgLSBtYXhOZWdhdGl2ZU1hcmdpbkJlZm9y
ZSgpOyB9Ci0gICAgdmlydHVhbCBpbnQgY29sbGFwc2VkTWFyZ2luQWZ0ZXIoKSBjb25zdCB7IHJl
dHVybiBtYXhQb3NpdGl2ZU1hcmdpbkFmdGVyKCkgLSBtYXhOZWdhdGl2ZU1hcmdpbkFmdGVyKCk7
IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQmVmb3JlKCkgY29uc3Qg
eyByZXR1cm4gbWF4UG9zaXRpdmVNYXJnaW5CZWZvcmUoKSAtIG1heE5lZ2F0aXZlTWFyZ2luQmVm
b3JlKCk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0ZXIoKSBj
b25zdCB7IHJldHVybiBtYXhQb3NpdGl2ZU1hcmdpbkFmdGVyKCkgLSBtYXhOZWdhdGl2ZU1hcmdp
bkFmdGVyKCk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZXBhaW50T3ZlcmhhbmdpbmdGbG9hdHMo
Ym9vbCBwYWludEFsbERlc2NlbmRhbnRzKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDkwMjUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMDksMTIgKzMyMDksMTIgQEAg
dm9pZCBSZW5kZXJCb3g6OmFkZFNoYWRvd092ZXJmbG93KCkKICAgICBhZGRWaXN1YWxPdmVyZmxv
dyhJbnRSZWN0KG92ZXJmbG93TGVmdCwgb3ZlcmZsb3dUb3AsIG92ZXJmbG93UmlnaHQgLSBvdmVy
Zmxvd0xlZnQsIG92ZXJmbG93Qm90dG9tIC0gb3ZlcmZsb3dUb3ApKTsKIH0KIAotdm9pZCBSZW5k
ZXJCb3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IEludFNp
emUmIGRlbHRhKQordm9pZCBSZW5kZXJCb3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKFJlbmRlckJv
eCogY2hpbGQsIGNvbnN0IExheW91dFNpemUmIGRlbHRhKQogewogICAgIC8vIE9ubHkgcHJvcGFn
YXRlIGxheW91dCBvdmVyZmxvdyBmcm9tIHRoZSBjaGlsZCBpZiB0aGUgY2hpbGQgaXNuJ3QgY2xp
cHBpbmcgaXRzIG92ZXJmbG93LiAgSWYgaXQgaXMsIHRoZW4KICAgICAvLyBpdHMgb3ZlcmZsb3cg
aXMgaW50ZXJuYWwgdG8gaXQsIGFuZCB3ZSBkb24ndCBjYXJlIGFib3V0IGl0LiAgbGF5b3V0T3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24gdGFrZXMgY2FyZSBvZiB0aGlzCiAgICAgLy8gYW5kIGp1
c3QgcHJvcGFnYXRlcyB0aGUgYm9yZGVyIGJveCByZWN0IGluc3RlYWQuCi0gICAgSW50UmVjdCBj
aGlsZExheW91dE92ZXJmbG93UmVjdCA9IGNoaWxkLT5sYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbihzdHlsZSgpKTsKKyAgICBMYXlvdXRSZWN0IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0
ID0gY2hpbGQtPmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHN0eWxlKCkpOwogICAg
IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0Lm1vdmUoZGVsdGEpOwogICAgIGFkZExheW91dE92ZXJm
bG93KGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0KTsKICAgICAgICAgICAgIApAQCAtMzIyMywxOSAr
MzIyMywxOSBAQCB2b2lkIFJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoUmVuCiAgICAg
Ly8gb3ZlcmZsb3cgaWYgd2UgYXJlIGNsaXBwaW5nIG91ciBvd24gb3ZlcmZsb3cuCiAgICAgaWYg
KGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc092ZXJmbG93Q2xpcCgpKQogICAg
ICAgICByZXR1cm47Ci0gICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVjdCA9IGNoaWxk
LT52aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsKKyAgICBMYXlvdXRS
ZWN0IGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uKHN0eWxlKCkpOwogICAgIGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmUo
ZGVsdGEpOwogICAgIGFkZFZpc3VhbE92ZXJmbG93KGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0KTsK
IH0KIAotdm9pZCBSZW5kZXJCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJl
Y3QpCit2b2lkIFJlbmRlckJveDo6YWRkTGF5b3V0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYg
cmVjdCkKIHsKLSAgICBJbnRSZWN0IGNsaWVudEJveCA9IGNsaWVudEJveFJlY3QoKTsKKyAgICBM
YXlvdXRSZWN0IGNsaWVudEJveCA9IGNsaWVudEJveFJlY3QoKTsKICAgICBpZiAoY2xpZW50Qm94
LmNvbnRhaW5zKHJlY3QpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgLy8gRm9yIG92ZXJmbG93IGNsaXAgb2JqZWN0cywgd2UgZG9uJ3Qgd2FudCB0byBwcm9w
YWdhdGUgb3ZlcmZsb3cgaW50byB1bnJlYWNoYWJsZSBhcmVhcy4KLSAgICBJbnRSZWN0IG92ZXJm
bG93UmVjdChyZWN0KTsKKyAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdChyZWN0KTsKICAgICBp
ZiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNSZW5kZXJWaWV3KCkpIHsKICAgICAgICAgLy8gT3Zl
cmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRpbmF0ZSBzcGFjZSBhbmQgdGh1cyBpcyBmbGlw
cGVkIGZvciBob3Jpem9udGFsLWJ0IGFuZCB2ZXJ0aWNhbC1ybCAKICAgICAgICAgLy8gd3JpdGlu
ZyBtb2Rlcy4gIEF0IHRoaXMgc3RhZ2UgdGhhdCBpcyBhY3R1YWxseSBhIHNpbXBsaWZpY2F0aW9u
LCBzaW5jZSB3ZSBjYW4gdHJlYXQgaG9yaXpvbnRhbC10Yi9idCBhcyB0aGUgc2FtZQpAQCAtMzI2
NCw5ICszMjY0LDkgQEAgdm9pZCBSZW5kZXJCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IAog
ICAgIG1fb3ZlcmZsb3ctPmFkZExheW91dE92ZXJmbG93KG92ZXJmbG93UmVjdCk7CiB9CiAKLXZv
aWQgUmVuZGVyQm94OjphZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQordm9p
ZCBSZW5kZXJCb3g6OmFkZFZpc3VhbE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7
Ci0gICAgSW50UmVjdCBib3JkZXJCb3ggPSBib3JkZXJCb3hSZWN0KCk7CisgICAgTGF5b3V0UmVj
dCBib3JkZXJCb3ggPSBib3JkZXJCb3hSZWN0KCk7CiAgICAgaWYgKGJvcmRlckJveC5jb250YWlu
cyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDkwMjUwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzksMzYgKzEzOSwzMyBAQCBwdWJsaWM6CiAgICAgLy8gRm9yIGhvcml6b250YWwtdGIgYW5kIHZl
cnRpY2FsLWxyIHRoZXkgd2lsbCBtYXRjaCBwaHlzaWNhbCBkaXJlY3Rpb25zLCBidXQgZm9yIGhv
cml6b250YWwtYnQgYW5kIHZlcnRpY2FsLXJsLCB0aGUgdG9wL2JvdHRvbSBhbmQgbGVmdC9yaWdo
dAogICAgIC8vIHJlc3BlY3RpdmVseSBhcmUgZmxpcHBlZCB3aGVuIGNvbXBhcmVkIHRvIHRoZWly
IHBoeXNpY2FsIGNvdW50ZXJwYXJ0cy4gIEZvciBleGFtcGxlIG1pblggaXMgb24gdGhlIGxlZnQg
aW4gdmVydGljYWwtbHIsCiAgICAgLy8gYnV0IGl0IGlzIG9uIHRoZSByaWdodCBpbiB2ZXJ0aWNh
bC1ybC4KLSAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1f
b3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSA6IGNsaWVudEJveFJl
Y3QoKTsgfQotICAgIGludCBtaW5ZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93PyBtX292ZXJmbG93LT5taW5ZTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgpOyB9
Ci0gICAgaW50IG1heFlMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT5tYXhZTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgpICsgY2xpZW50
SGVpZ2h0KCk7IH0KLSAgICBpbnQgbWluWExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
bV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1pblhMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyTGVm
dCgpOyB9Ci0gICAgaW50IG1heFhMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3Zl
cmZsb3cgPyBtX292ZXJmbG93LT5tYXhYTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlckxlZnQoKSAr
IGNsaWVudFdpZHRoKCk7IH0KLSAgICBJbnRTaXplIG1heExheW91dE92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gSW50U2l6ZShtYXhYTGF5b3V0T3ZlcmZsb3coKSwgbWF4WUxheW91dE92ZXJmbG93
KCkpOyB9Ci0gICAgaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWExheW91dE92ZXJmbG93
KCkgOiBtaW5ZTGF5b3V0T3ZlcmZsb3coKTsgfQotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBtYXhYTGF5b3V0T3ZlcmZsb3coKSA6IG1heFlMYXlvdXRPdmVyZmxvdygpOyB9Ci0gICAg
Ci0gICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJm
bG93ID8gbV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkgOiBib3JkZXJCb3hSZWN0KCk7
IH0KLSAgICBpbnQgbWluWVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxv
dz8gbV9vdmVyZmxvdy0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiAwOyB9Ci0gICAgaW50IG1heFlW
aXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5t
YXhZVmlzdWFsT3ZlcmZsb3coKSA6IGhlaWdodCgpOyB9Ci0gICAgaW50IG1pblhWaXN1YWxPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5taW5YVmlzdWFs
T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgbWF4WFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhWaXN1YWxPdmVyZmxvdygpIDogd2lk
dGgoKTsgfQotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1pblhWaXN1YWxPdmVyZmxv
dygpIDogbWluWVZpc3VhbE92ZXJmbG93KCk7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFs
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gbWF4WFZpc3VhbE92ZXJmbG93KCkgOiBtYXhZVmlzdWFsT3ZlcmZsb3coKTsgfQorICAg
IExheW91dFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxv
dyA/IG1fb3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgpIDogY2xpZW50Qm94UmVjdCgpOyB9
CisgICAgTGF5b3V0VW5pdCBtaW5ZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93PyBtX292ZXJmbG93LT5taW5ZTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgpOyB9
CisgICAgTGF5b3V0VW5pdCBtYXhZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4WUxheW91dE92ZXJmbG93KCkgOiBib3JkZXJUb3AoKSAr
IGNsaWVudEhlaWdodCgpOyB9CisgICAgTGF5b3V0VW5pdCBtaW5YTGF5b3V0T3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWluWExheW91dE92ZXJmbG93
KCkgOiBib3JkZXJMZWZ0KCk7IH0KKyAgICBMYXlvdXRVbml0IG1heFhMYXlvdXRPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5tYXhYTGF5b3V0T3ZlcmZs
b3coKSA6IGJvcmRlckxlZnQoKSArIGNsaWVudFdpZHRoKCk7IH0KKyAgICBMYXlvdXRTaXplIG1h
eExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZShtYXhYTGF5b3V0T3Zl
cmZsb3coKSwgbWF4WUxheW91dE92ZXJmbG93KCkpOyB9CisgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
TGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IG1pblhMYXlvdXRPdmVyZmxvdygpIDogbWluWUxheW91dE92ZXJmbG93
KCk7IH0KKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1heFhMYXlvdXRP
dmVyZmxvdygpIDogbWF4WUxheW91dE92ZXJmbG93KCk7IH0KKyAgICAKKyAgICBMYXlvdXRSZWN0
IHZpc3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSA6IGJvcmRlckJveFJlY3QoKTsgfQorICAgIExheW91
dFVuaXQgbWluWVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdz8gbV9v
dmVyZmxvdy0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiAwOyB9CisgICAgTGF5b3V0VW5pdCBtYXhZ
VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
bWF4WVZpc3VhbE92ZXJmbG93KCkgOiBoZWlnaHQoKTsgfQorICAgIExheW91dFVuaXQgbWluWFZp
c3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1p
blhWaXN1YWxPdmVyZmxvdygpIDogMDsgfQorICAgIExheW91dFVuaXQgbWF4WFZpc3VhbE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhWaXN1YWxP
dmVyZmxvdygpIDogd2lkdGgoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBtaW5YVmlzdWFsT3ZlcmZsb3coKSA6IG1pbllWaXN1YWxPdmVyZmxvdygpOyB9CisgICAg
TGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtYXhYVmlzdWFsT3ZlcmZsb3coKSA6
IG1heFlWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgCi0gICAgdm9pZCBhZGRMYXlvdXRPdmVyZmxv
dyhjb25zdCBJbnRSZWN0Jik7Ci0gICAgdm9pZCBhZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRS
ZWN0Jik7CisgICAgdm9pZCBhZGRMYXlvdXRPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7Cisg
ICAgdm9pZCBhZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7CiAgICAgCiAgICAg
dm9pZCBhZGRTaGFkb3dPdmVyZmxvdygpOwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQ2hpbGQo
UmVuZGVyQm94KiBjaGlsZCkgeyBhZGRPdmVyZmxvd0Zyb21DaGlsZChjaGlsZCwgSW50U2l6ZShj
aGlsZC0+eCgpLCBjaGlsZC0+eSgpKSk7IH0KLSAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUNoaWxk
KFJlbmRlckJveCogY2hpbGQsIGNvbnN0IEludFNpemUmIGRlbHRhKTsKKyAgICB2b2lkIGFkZE92
ZXJmbG93RnJvbUNoaWxkKFJlbmRlckJveCogY2hpbGQpIHsgYWRkT3ZlcmZsb3dGcm9tQ2hpbGQo
Y2hpbGQsIGNoaWxkLT5sb2NhdGlvbk9mZnNldCgpKTsgfQorICAgIHZvaWQgYWRkT3ZlcmZsb3dG
cm9tQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTGF5b3V0U2l6ZSYgZGVsdGEpOwogICAg
IHZvaWQgY2xlYXJMYXlvdXRPdmVyZmxvdygpOwogICAgIAogICAgIHZvaWQgdXBkYXRlTGF5ZXJU
cmFuc2Zvcm0oKTsKIAotICAgIHZvaWQgYmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhib29sIGlzTGlu
ZUhvcml6b250YWwsIGludCYgbG9naWNhbFRvcExheW91dE92ZXJmbG93LCBpbnQmIGxvZ2ljYWxC
b3R0b21MYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
JiBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93KTsKLQogICAgIExheW91dFVuaXQgY29udGVudFdpZHRoKCkgY29uc3QgeyByZXR1cm4gY2xp
ZW50V2lkdGgoKSAtIHBhZGRpbmdMZWZ0KCkgLSBwYWRkaW5nUmlnaHQoKTsgfQogICAgIExheW91
dFVuaXQgY29udGVudEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNsaWVudEhlaWdodCgpIC0gcGFk
ZGluZ1RvcCgpIC0gcGFkZGluZ0JvdHRvbSgpOyB9CiAgICAgTGF5b3V0VW5pdCBjb250ZW50TG9n
aWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGNvbnRlbnRXaWR0aCgpIDogY29udGVudEhlaWdodCgpOyB9CkBAIC0yMjcsOCArMjI0
LDggQEAgcHVibGljOgogICAgIC8vIG1ldGhvZHMuCiAgICAgZW51bSBNYXJnaW5TaWduIHsgUG9z
aXRpdmVNYXJnaW4sIE5lZ2F0aXZlTWFyZ2luIH07CiAgICAgdmlydHVhbCBib29sIGlzU2VsZkNv
bGxhcHNpbmdCbG9jaygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBpbnQg
Y29sbGFwc2VkTWFyZ2luQmVmb3JlKCkgY29uc3QgeyByZXR1cm4gbWFyZ2luQmVmb3JlKCk7IH0K
LSAgICB2aXJ0dWFsIGludCBjb2xsYXBzZWRNYXJnaW5BZnRlcigpIGNvbnN0IHsgcmV0dXJuIG1h
cmdpbkFmdGVyKCk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQmVm
b3JlKCkgY29uc3QgeyByZXR1cm4gbWFyZ2luQmVmb3JlKCk7IH0KKyAgICB2aXJ0dWFsIExheW91
dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0ZXIoKSBjb25zdCB7IHJldHVybiBtYXJnaW5BZnRlcigp
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mLCBj
b25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogICAgIHZpcnR1YWwgdm9pZCBhYnNv
bHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAkocmV2aXNpb24gOTAyNDkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEs
NyBAQAogI2lmbmRlZiBSZW5kZXJPdmVyZmxvd19oCiAjZGVmaW5lIFJlbmRlck92ZXJmbG93X2gK
IAotI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZQogewpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogY2xh
c3MgUmVuZGVyT3ZlcmZsb3cgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJm
bG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUmVuZGVyT3ZlcmZs
b3coY29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkg
CisgICAgUmVuZGVyT3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYgbGF5b3V0UmVjdCwgY29uc3Qg
TGF5b3V0UmVjdCYgdmlzdWFsUmVjdCkgCiAgICAgICAgIDogbV9taW5ZTGF5b3V0T3ZlcmZsb3co
bGF5b3V0UmVjdC55KCkpCiAgICAgICAgICwgbV9tYXhZTGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVj
dC5tYXhZKCkpCiAgICAgICAgICwgbV9taW5YTGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC54KCkp
CkBAIC01Miw2MSArNTIsNjEgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAgICAKLSAgICBpbnQg
bWluWUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9taW5ZTGF5b3V0T3ZlcmZsb3c7
IH0KLSAgICBpbnQgbWF4WUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9tYXhZTGF5
b3V0T3ZlcmZsb3c7IH0KLSAgICBpbnQgbWluWExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gbV9taW5YTGF5b3V0T3ZlcmZsb3c7IH0KLSAgICBpbnQgbWF4WExheW91dE92ZXJmbG93KCkg
Y29uc3QgeyByZXR1cm4gbV9tYXhYTGF5b3V0T3ZlcmZsb3c7IH0KLSAgICBJbnRSZWN0IGxheW91
dE92ZXJmbG93UmVjdCgpIGNvbnN0OwotCi0gICAgaW50IG1pbllWaXN1YWxPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fbWluWVZpc3VhbE92ZXJmbG93OyB9Ci0gICAgaW50IG1heFlWaXN1YWxP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4WVZpc3VhbE92ZXJmbG93OyB9Ci0gICAgaW50
IG1pblhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWluWFZpc3VhbE92ZXJmbG93
OyB9Ci0gICAgaW50IG1heFhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4WFZp
c3VhbE92ZXJmbG93OyB9Ci0gICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsK
LQotICAgIHZvaWQgc2V0TWluWUxheW91dE92ZXJmbG93KGludCBvdmVyZmxvdykgeyBtX21pbllM
YXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9Ci0gICAgdm9pZCBzZXRNYXhZTGF5b3V0T3ZlcmZs
b3coaW50IG92ZXJmbG93KSB7IG1fbWF4WUxheW91dE92ZXJmbG93ID0gb3ZlcmZsb3c7IH0KLSAg
ICB2b2lkIHNldE1pblhMYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV9taW5YTGF5b3V0
T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQotICAgIHZvaWQgc2V0TWF4WExheW91dE92ZXJmbG93KGlu
dCBvdmVyZmxvdykgeyBtX21heFhMYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CisgICAgTGF5
b3V0VW5pdCBtaW5ZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX21pbllMYXlvdXRP
dmVyZmxvdzsgfQorICAgIExheW91dFVuaXQgbWF4WUxheW91dE92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gbV9tYXhZTGF5b3V0T3ZlcmZsb3c7IH0KKyAgICBMYXlvdXRVbml0IG1pblhMYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWluWExheW91dE92ZXJmbG93OyB9CisgICAgTGF5
b3V0VW5pdCBtYXhYTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX21heFhMYXlvdXRP
dmVyZmxvdzsgfQorICAgIExheW91dFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3Q7CisK
KyAgICBMYXlvdXRVbml0IG1pbllWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
WVZpc3VhbE92ZXJmbG93OyB9CisgICAgTGF5b3V0VW5pdCBtYXhZVmlzdWFsT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiBtX21heFlWaXN1YWxPdmVyZmxvdzsgfQorICAgIExheW91dFVuaXQgbWlu
WFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9taW5YVmlzdWFsT3ZlcmZsb3c7IH0K
KyAgICBMYXlvdXRVbml0IG1heFhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4
WFZpc3VhbE92ZXJmbG93OyB9CisgICAgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBj
b25zdDsKKworICAgIHZvaWQgc2V0TWluWUxheW91dE92ZXJmbG93KExheW91dFVuaXQgb3ZlcmZs
b3cpIHsgbV9taW5ZTGF5b3V0T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQorICAgIHZvaWQgc2V0TWF4
WUxheW91dE92ZXJmbG93KExheW91dFVuaXQgb3ZlcmZsb3cpIHsgbV9tYXhZTGF5b3V0T3ZlcmZs
b3cgPSBvdmVyZmxvdzsgfQorICAgIHZvaWQgc2V0TWluWExheW91dE92ZXJmbG93KExheW91dFVu
aXQgb3ZlcmZsb3cpIHsgbV9taW5YTGF5b3V0T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQorICAgIHZv
aWQgc2V0TWF4WExheW91dE92ZXJmbG93KExheW91dFVuaXQgb3ZlcmZsb3cpIHsgbV9tYXhYTGF5
b3V0T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQogICAgIAotICAgIHZvaWQgc2V0TWluWVZpc3VhbE92
ZXJmbG93KGludCBvdmVyZmxvdykgeyBtX21pbllWaXN1YWxPdmVyZmxvdyA9IG92ZXJmbG93OyB9
Ci0gICAgdm9pZCBzZXRNYXhZVmlzdWFsT3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fbWF4WVZp
c3VhbE92ZXJmbG93ID0gb3ZlcmZsb3c7IH0KLSAgICB2b2lkIHNldE1pblhWaXN1YWxPdmVyZmxv
dyhpbnQgb3ZlcmZsb3cpIHsgbV9taW5YVmlzdWFsT3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQotICAg
IHZvaWQgc2V0TWF4WFZpc3VhbE92ZXJmbG93KGludCBvdmVyZmxvdykgeyBtX21heFhWaXN1YWxP
dmVyZmxvdyA9IG92ZXJmbG93OyB9CisgICAgdm9pZCBzZXRNaW5ZVmlzdWFsT3ZlcmZsb3coTGF5
b3V0VW5pdCBvdmVyZmxvdykgeyBtX21pbllWaXN1YWxPdmVyZmxvdyA9IG92ZXJmbG93OyB9Cisg
ICAgdm9pZCBzZXRNYXhZVmlzdWFsT3ZlcmZsb3coTGF5b3V0VW5pdCBvdmVyZmxvdykgeyBtX21h
eFlWaXN1YWxPdmVyZmxvdyA9IG92ZXJmbG93OyB9CisgICAgdm9pZCBzZXRNaW5YVmlzdWFsT3Zl
cmZsb3coTGF5b3V0VW5pdCBvdmVyZmxvdykgeyBtX21pblhWaXN1YWxPdmVyZmxvdyA9IG92ZXJm
bG93OyB9CisgICAgdm9pZCBzZXRNYXhYVmlzdWFsT3ZlcmZsb3coTGF5b3V0VW5pdCBvdmVyZmxv
dykgeyBtX21heFhWaXN1YWxPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgCi0gICAgdm9pZCBt
b3ZlKGludCBkeCwgaW50IGR5KTsKKyAgICB2b2lkIG1vdmUoTGF5b3V0VW5pdCBkeCwgTGF5b3V0
VW5pdCBkeSk7CiAgICAgCi0gICAgdm9pZCBhZGRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0
Jik7Ci0gICAgdm9pZCBhZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0Jik7CisgICAgdm9p
ZCBhZGRMYXlvdXRPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7CisgICAgdm9pZCBhZGRWaXN1
YWxPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0Jik7CiAKLSAgICB2b2lkIHNldExheW91dE92ZXJm
bG93KGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHNldFZpc3VhbE92ZXJmbG93KGNvbnN0IElu
dFJlY3QmKTsKKyAgICB2b2lkIHNldExheW91dE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmKTsK
KyAgICB2b2lkIHNldFZpc3VhbE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmKTsKIAotICAgIHZv
aWQgcmVzZXRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCk7CisgICAg
dm9pZCByZXNldExheW91dE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIGRlZmF1bHRSZWN0KTsK
IAogcHJpdmF0ZToKLSAgICBpbnQgbV9taW5ZTGF5b3V0T3ZlcmZsb3c7Ci0gICAgaW50IG1fbWF4
WUxheW91dE92ZXJmbG93OwotICAgIGludCBtX21pblhMYXlvdXRPdmVyZmxvdzsKLSAgICBpbnQg
bV9tYXhYTGF5b3V0T3ZlcmZsb3c7Ci0KLSAgICBpbnQgbV9taW5ZVmlzdWFsT3ZlcmZsb3c7Ci0g
ICAgaW50IG1fbWF4WVZpc3VhbE92ZXJmbG93OwotICAgIGludCBtX21pblhWaXN1YWxPdmVyZmxv
dzsKLSAgICBpbnQgbV9tYXhYVmlzdWFsT3ZlcmZsb3c7CisgICAgTGF5b3V0VW5pdCBtX21pbllM
YXlvdXRPdmVyZmxvdzsKKyAgICBMYXlvdXRVbml0IG1fbWF4WUxheW91dE92ZXJmbG93OworICAg
IExheW91dFVuaXQgbV9taW5YTGF5b3V0T3ZlcmZsb3c7CisgICAgTGF5b3V0VW5pdCBtX21heFhM
YXlvdXRPdmVyZmxvdzsKKworICAgIExheW91dFVuaXQgbV9taW5ZVmlzdWFsT3ZlcmZsb3c7Cisg
ICAgTGF5b3V0VW5pdCBtX21heFlWaXN1YWxPdmVyZmxvdzsKKyAgICBMYXlvdXRVbml0IG1fbWlu
WFZpc3VhbE92ZXJmbG93OworICAgIExheW91dFVuaXQgbV9tYXhYVmlzdWFsT3ZlcmZsb3c7CiB9
OwogCi1pbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6bGF5b3V0T3ZlcmZsb3dSZWN0KCkg
Y29uc3QKK2lubGluZSBMYXlvdXRSZWN0IFJlbmRlck92ZXJmbG93OjpsYXlvdXRPdmVyZmxvd1Jl
Y3QoKSBjb25zdAogewotICAgIHJldHVybiBJbnRSZWN0KG1fbWluWExheW91dE92ZXJmbG93LCBt
X21pbllMYXlvdXRPdmVyZmxvdywgbV9tYXhYTGF5b3V0T3ZlcmZsb3cgLSBtX21pblhMYXlvdXRP
dmVyZmxvdywgbV9tYXhZTGF5b3V0T3ZlcmZsb3cgLSBtX21pbllMYXlvdXRPdmVyZmxvdyk7Cisg
ICAgcmV0dXJuIExheW91dFJlY3QobV9taW5YTGF5b3V0T3ZlcmZsb3csIG1fbWluWUxheW91dE92
ZXJmbG93LCBtX21heFhMYXlvdXRPdmVyZmxvdyAtIG1fbWluWExheW91dE92ZXJmbG93LCBtX21h
eFlMYXlvdXRPdmVyZmxvdyAtIG1fbWluWUxheW91dE92ZXJmbG93KTsKIH0KIAotaW5saW5lIElu
dFJlY3QgUmVuZGVyT3ZlcmZsb3c6OnZpc3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0CitpbmxpbmUg
TGF5b3V0UmVjdCBSZW5kZXJPdmVyZmxvdzo6dmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29uc3QKIHsK
LSAgICByZXR1cm4gSW50UmVjdChtX21pblhWaXN1YWxPdmVyZmxvdywgbV9taW5ZVmlzdWFsT3Zl
cmZsb3csIG1fbWF4WFZpc3VhbE92ZXJmbG93IC0gbV9taW5YVmlzdWFsT3ZlcmZsb3csIG1fbWF4
WVZpc3VhbE92ZXJmbG93IC0gbV9taW5ZVmlzdWFsT3ZlcmZsb3cpOworICAgIHJldHVybiBMYXlv
dXRSZWN0KG1fbWluWFZpc3VhbE92ZXJmbG93LCBtX21pbllWaXN1YWxPdmVyZmxvdywgbV9tYXhY
VmlzdWFsT3ZlcmZsb3cgLSBtX21pblhWaXN1YWxPdmVyZmxvdywgbV9tYXhZVmlzdWFsT3ZlcmZs
b3cgLSBtX21pbllWaXN1YWxPdmVyZmxvdyk7CiB9CiAKLWlubGluZSB2b2lkIFJlbmRlck92ZXJm
bG93Ojptb3ZlKGludCBkeCwgaW50IGR5KQoraW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6Om1v
dmUoTGF5b3V0VW5pdCBkeCwgTGF5b3V0VW5pdCBkeSkKIHsKICAgICBtX21pbllMYXlvdXRPdmVy
ZmxvdyArPSBkeTsKICAgICBtX21heFlMYXlvdXRPdmVyZmxvdyArPSBkeTsKQEAgLTExOSw3ICsx
MTksNyBAQCBpbmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6bW92ZShpbnQgZHgsCiAgICAgbV9t
YXhYVmlzdWFsT3ZlcmZsb3cgKz0gZHg7CiB9CiAKLWlubGluZSB2b2lkIFJlbmRlck92ZXJmbG93
OjphZGRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQoraW5saW5lIHZvaWQgUmVu
ZGVyT3ZlcmZsb3c6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7
CiAgICAgbV9taW5ZTGF5b3V0T3ZlcmZsb3cgPSBzdGQ6Om1pbihyZWN0LnkoKSwgbV9taW5ZTGF5
b3V0T3ZlcmZsb3cpOwogICAgIG1fbWF4WUxheW91dE92ZXJmbG93ID0gc3RkOjptYXgocmVjdC5t
YXhZKCksIG1fbWF4WUxheW91dE92ZXJmbG93KTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBpbmxpbmUg
dm9pZCBSZW5kZXJPdmVyZmxvdzo6YWRkTGF5b3V0T3ZlCiAgICAgbV9tYXhYTGF5b3V0T3ZlcmZs
b3cgPSBzdGQ6Om1heChyZWN0Lm1heFgoKSwgbV9tYXhYTGF5b3V0T3ZlcmZsb3cpOwogfQogCi1p
bmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6YWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKK2lubGluZSB2b2lkIFJlbmRlck92ZXJmbG93OjphZGRWaXN1YWxPdmVyZmxvdyhj
b25zdCBMYXlvdXRSZWN0JiByZWN0KQogewogICAgIG1fbWluWVZpc3VhbE92ZXJmbG93ID0gc3Rk
OjptaW4ocmVjdC55KCksIG1fbWluWVZpc3VhbE92ZXJmbG93KTsKICAgICBtX21heFlWaXN1YWxP
dmVyZmxvdyA9IHN0ZDo6bWF4KHJlY3QubWF4WSgpLCBtX21heFlWaXN1YWxPdmVyZmxvdyk7CkBA
IC0xMzUsNyArMTM1LDcgQEAgaW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6OmFkZFZpc3VhbE92
ZQogICAgIG1fbWF4WFZpc3VhbE92ZXJmbG93ID0gc3RkOjptYXgocmVjdC5tYXhYKCksIG1fbWF4
WFZpc3VhbE92ZXJmbG93KTsKIH0KIAotaW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6OnNldExh
eW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCitpbmxpbmUgdm9pZCBSZW5kZXJPdmVy
Zmxvdzo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBt
X21pbllMYXlvdXRPdmVyZmxvdyA9IHJlY3QueSgpOwogICAgIG1fbWF4WUxheW91dE92ZXJmbG93
ID0gcmVjdC5tYXhZKCk7CkBAIC0xNDMsNyArMTQzLDcgQEAgaW5saW5lIHZvaWQgUmVuZGVyT3Zl
cmZsb3c6OnNldExheW91dE92ZQogICAgIG1fbWF4WExheW91dE92ZXJmbG93ID0gcmVjdC5tYXhY
KCk7CiB9CiAKLWlubGluZSB2b2lkIFJlbmRlck92ZXJmbG93OjpzZXRWaXN1YWxPdmVyZmxvdyhj
b25zdCBJbnRSZWN0JiByZWN0KQoraW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6OnNldFZpc3Vh
bE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiAgICAgbV9taW5ZVmlzdWFsT3Zl
cmZsb3cgPSByZWN0LnkoKTsKICAgICBtX21heFlWaXN1YWxPdmVyZmxvdyA9IHJlY3QubWF4WSgp
OwpAQCAtMTUxLDcgKzE1MSw3IEBAIGlubGluZSB2b2lkIFJlbmRlck92ZXJmbG93OjpzZXRWaXN1
YWxPdmUKICAgICBtX21heFhWaXN1YWxPdmVyZmxvdyA9IHJlY3QubWF4WCgpOwogfQogCi1pbmxp
bmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6cmVzZXRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiByZWN0KQoraW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6OnJlc2V0TGF5b3V0T3ZlcmZsb3co
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBtX21pbllMYXlvdXRPdmVyZmxvdyA9IHJl
Y3QueSgpOwogICAgIG1fbWF4WUxheW91dE92ZXJmbG93ID0gcmVjdC5tYXhZKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>