<?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>135757</bug_id>
          
          <creation_ts>2014-08-08 09:38:13 -0700</creation_ts>
          <short_desc>[CSS Shapes] Refactor getExcludedIntervals since only one LineSegment is ever returned</short_desc>
          <delta_ts>2014-08-08 14:12:23 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1027862</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-08-08 09:38:13 -0700</bug_when>
    <thetext>[CSS Shapes] Refactor getExcludedIntervals since only one LineSegment is ever returned</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027863</commentid>
    <comment_count>1</comment_count>
      <attachid>236283</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-08-08 09:40:58 -0700</bug_when>
    <thetext>Created attachment 236283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027872</commentid>
    <comment_count>2</comment_count>
      <attachid>236283</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2014-08-08 10:35:42 -0700</bug_when>
    <thetext>Comment on attachment 236283
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027938</commentid>
    <comment_count>3</comment_count>
      <attachid>236283</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-08 14:12:21 -0700</bug_when>
    <thetext>Comment on attachment 236283
Patch

Clearing flags on attachment: 236283

Committed r172357: &lt;http://trac.webkit.org/changeset/172357&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027939</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-08 14:12:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236283</attachid>
            <date>2014-08-08 09:40:58 -0700</date>
            <delta_ts>2014-08-08 14:12:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135757-20140808094046.patch</filename>
            <type>text/plain</type>
            <size>21939</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ5ODYxMTk0Mjc2YjVi
NzY1MjgzYjEzMDQ3NDI5NGViZGM3NWJjMi4uNWUxNzU2YzFiNjQ3YzFmN2FmYTAwYmU2NWY4NmE4
ZjFiZjMxYmE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTA4LTA4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBS
ZWZhY3RvciBnZXRFeGNsdWRlZEludGVydmFscyBzaW5jZSBvbmx5IG9uZSBMaW5lU2VnbWVudCBp
cyBldmVyIHJldHVybmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzU3NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgaW50ZXJmYWNlIGZvciBnZXRFeGNsdWRlZEludGVydmFscyB3YXMgZGVzaWdu
ZWQgd2hlbiBzaGFwZS1pbnNpZGUKKyAgICAgICAgd2FzIHN0aWxsIGEgdGhpbmcsIGFuZCBpdCB3
YXMgcG9zc2libGUgZm9yIGEgbGluZSBpbiBhIHNoYXBlIHRvIGhhdmUKKyAgICAgICAgbXVsdGlw
bGUgc2VnbWVudHMuIHNoYXBlLW91dHNpZGUgY2FuIG9ubHkgaGF2ZSBvbmUgc2VnbWVudCBwZXIg
bGluZSwKKyAgICAgICAgc28gdGhpcyByZWZhY3RvcnMgdGhlIGNvZGUgdG8gc2ltcGxpZnkgYW5k
IHJlZmxlY3QgdGhhdCByZWFsaXR5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0LCBubyBiZWhhdmlv
ciBjaGFuZ2UuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkJveFNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFsKTogCisgICAgICAg
IChXZWJDb3JlOjpCb3hTaGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMpOiBEZWxldGVkLgorICAg
ICAgICAqIHJlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
c2hhcGVzL1BvbHlnb25TaGFwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2x5Z29uU2hhcGU6
OmdldEV4Y2x1ZGVkSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6UG9seWdvblNoYXBlOjpn
ZXRFeGNsdWRlZEludGVydmFscyk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3NoYXBl
cy9Qb2x5Z29uU2hhcGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhc3RlclNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJhc3RlclNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFscyk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zaGFwZXMvUmVjdGFuZ2xlU2hhcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVjdGFuZ2xlU2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVjdGFuZ2xlU2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL3NoYXBlcy9TaGFwZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGluZVNlZ21lbnQ6Okxp
bmVTZWdtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGVPdXRzaWRlSW5mbzo6bG9naWNhbExlZnRPZmZz
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGVPdXRzaWRlSW5mbzo6dXBkYXRlRGVsdGFzRm9y
Q29udGFpbmluZ0Jsb2NrTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFwZU91dHNpZGVJbmZv
Ojpjb21wdXRlU2VnbWVudHNGb3JMaW5lKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
c2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uaDoKKwogMjAxNC0wOC0wNyAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbRU1FXVtNYWNdIEVycm9yIGNvZGVzIHJldHVy
bmVkIGJ5IEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIGFyZSBuZWdhdGl2ZTsgY2xpcCB3aGVu
IHBhc3NlZCB0byBKYXZhU2NyaXB0IGFzIGRvdWJsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zaGFwZXMvQm94U2hhcGUuY3BwCmluZGV4IDExYWFlNTIwYTllZjJiMTBkMWU1NjYwZjZl
OWUzODk1YTQ4ZTJkODIuLjM4OWFhYzk1MTE1NDY5Yjc4NGQ0NmVmYjU0ODUwZjFiMmU5MjY0MWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuY3BwCkBAIC0x
Miw3ICsxMiw3IEBACiAgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZwogICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MKQEAgLTExMiwyOCArMTEyLDI0IEBAIEZsb2F0Um91bmRlZFJlY3QgQm94U2hhcGU6OnNoYXBl
TWFyZ2luQm91bmRzKCkgY29uc3QKICAgICByZXR1cm4gbWFyZ2luQm91bmRzOwogfQogCi12b2lk
IEJveFNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFscyhMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmIHJlc3VsdCkgY29uc3QKK0xpbmVT
ZWdtZW50IEJveFNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFsKExheW91dFVuaXQgbG9naWNhbFRv
cCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjb25zdAogewogICAgIGNvbnN0IEZsb2F0Um91
bmRlZFJlY3QmIG1hcmdpbkJvdW5kcyA9IHNoYXBlTWFyZ2luQm91bmRzKCk7CiAgICAgaWYgKG1h
cmdpbkJvdW5kcy5pc0VtcHR5KCkgfHwgIWxpbmVPdmVybGFwc1NoYXBlTWFyZ2luQm91bmRzKGxv
Z2ljYWxUb3AsIGxvZ2ljYWxIZWlnaHQpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biBMaW5lU2VnbWVudCgpOwogCiAgICAgZmxvYXQgeTEgPSBsb2dpY2FsVG9wOwogICAgIGZsb2F0
IHkyID0gbG9naWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQ7CiAgICAgY29uc3QgRmxvYXRSZWN0JiBy
ZWN0ID0gbWFyZ2luQm91bmRzLnJlY3QoKTsKIAotICAgIGlmICghbWFyZ2luQm91bmRzLmlzUm91
bmRlZCgpKSB7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoTGluZVNlZ21lbnQocmVjdC54KCksIHJl
Y3QubWF4WCgpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYgKCFtYXJnaW5Cb3Vu
ZHMuaXNSb3VuZGVkKCkpCisgICAgICAgIHJldHVybiBMaW5lU2VnbWVudChyZWN0LngoKSwgcmVj
dC5tYXhYKCkpOwogCiAgICAgZmxvYXQgdG9wQ29ybmVyTWF4WSA9IHN0ZDo6bWF4PGZsb2F0Piht
YXJnaW5Cb3VuZHMudG9wTGVmdENvcm5lcigpLm1heFkoKSwgbWFyZ2luQm91bmRzLnRvcFJpZ2h0
Q29ybmVyKCkubWF4WSgpKTsKICAgICBmbG9hdCBib3R0b21Db3JuZXJNaW5ZID0gc3RkOjptaW48
ZmxvYXQ+KG1hcmdpbkJvdW5kcy5ib3R0b21MZWZ0Q29ybmVyKCkueSgpLCBtYXJnaW5Cb3VuZHMu
Ym90dG9tUmlnaHRDb3JuZXIoKS55KCkpOwogCi0gICAgaWYgKHRvcENvcm5lck1heFkgPD0gYm90
dG9tQ29ybmVyTWluWSAmJiB5MSA8PSB0b3BDb3JuZXJNYXhZICYmIHkyID49IGJvdHRvbUNvcm5l
ck1pblkpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChMaW5lU2VnbWVudChyZWN0LngoKSwgcmVj
dC5tYXhYKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBpZiAodG9wQ29ybmVyTWF4
WSA8PSBib3R0b21Db3JuZXJNaW5ZICYmIHkxIDw9IHRvcENvcm5lck1heFkgJiYgeTIgPj0gYm90
dG9tQ29ybmVyTWluWSkKKyAgICAgICAgcmV0dXJuIExpbmVTZWdtZW50KHJlY3QueCgpLCByZWN0
Lm1heFgoKSk7CiAKICAgICBmbG9hdCB4MSA9IHJlY3QubWF4WCgpOwogICAgIGZsb2F0IHgyID0g
cmVjdC54KCk7CkBAIC0xNTcsNyArMTUzLDcgQEAgdm9pZCBCb3hTaGFwZTo6Z2V0RXhjbHVkZWRJ
bnRlcnZhbHMoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWkKICAg
ICB9CiAKICAgICBBU1NFUlQoeDIgPj0geDEpOwotICAgIHJlc3VsdC5hcHBlbmQoTGluZVNlZ21l
bnQoeDEsIHgyKSk7CisgICAgcmV0dXJuIExpbmVTZWdtZW50KHgxLCB4Mik7CiB9CiAKIHZvaWQg
Qm94U2hhcGU6OmJ1aWxkRGlzcGxheVBhdGhzKERpc3BsYXlQYXRocyYgcGF0aHMpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL0JveFNoYXBlLmgKaW5kZXggN2ExMDIxYTdh
NTBkZDEzOWI1Mjc5NTdiMzk1MDdjMzM4Mjk4NDFhNy4uODA5YmE4MjQ0Njg4NjYwOTcwZTIzZmU2
MWFkZDhjYjRjZmM4MGVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9Cb3hTaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94
U2hhcGUuaApAQCAtMTIsNyArMTIsNyBAQAogICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKICAqICAgIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwogICogICAgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
TGF5b3V0UmVjdCBzaGFwZU1hcmdpbkxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9i
b3VuZHMuaXNFbXB0eSgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGdldEV4Y2x1ZGVkSW50ZXJ2YWxz
KExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBTZWdtZW50
TGlzdCYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgTGluZVNlZ21lbnQgZ2V0RXhjbHVk
ZWRJbnRlcnZhbChMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNhbEhlaWdo
dCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgYnVpbGREaXNwbGF5UGF0aHMo
RGlzcGxheVBhdGhzJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zaGFwZXMvUG9seWdvblNoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zaGFwZXMvUG9seWdvblNoYXBlLmNwcAppbmRleCA2YzdmY2UzNjU1ZGM2Y2Q4YWQw
N2UwOTNkNmVlOWIyODc3NTJlY2E5Li44YzJiN2Y5NGVkZWEyNTE0M2VhM2I0YTA2NDAyNGQ2ZWRj
NWRmN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1BvbHln
b25TaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29u
U2hhcGUuY3BwCkBAIC0xMiw3ICsxMiw3IEBACiAgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwogICogICAgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MKQEAgLTExNywxNyArMTE3LDE3IEBAIExheW91dFJlY3QgUG9seWdv
blNoYXBlOjpzaGFwZU1hcmdpbkxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0CiAgICAgcmV0dXJu
IExheW91dFJlY3QoYm94KTsKIH0KIAotdm9pZCBQb2x5Z29uU2hhcGU6OmdldEV4Y2x1ZGVkSW50
ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBT
ZWdtZW50TGlzdCYgcmVzdWx0KSBjb25zdAorTGluZVNlZ21lbnQgUG9seWdvblNoYXBlOjpnZXRF
eGNsdWRlZEludGVydmFsKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0KSBjb25zdAogewogICAgIGZsb2F0IHkxID0gbG9naWNhbFRvcDsKICAgICBmbG9hdCB5
MiA9IGxvZ2ljYWxUb3AgKyBsb2dpY2FsSGVpZ2h0OwogCiAgICAgaWYgKG1fcG9seWdvbi5pc0Vt
cHR5KCkgfHwgIW1fcG9seWdvbi5ib3VuZGluZ0JveCgpLm92ZXJsYXBzWVJhbmdlKHkxIC0gc2hh
cGVNYXJnaW4oKSwgeTIgKyBzaGFwZU1hcmdpbigpKSkKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gTGluZVNlZ21lbnQoKTsKIAogICAgIFZlY3Rvcjxjb25zdCBGbG9hdFBvbHlnb25F
ZGdlKj4gb3ZlcmxhcHBpbmdFZGdlczsKICAgICBpZiAoIW1fcG9seWdvbi5vdmVybGFwcGluZ0Vk
Z2VzKHkxIC0gc2hhcGVNYXJnaW4oKSwgeTIgKyBzaGFwZU1hcmdpbigpLCBvdmVybGFwcGluZ0Vk
Z2VzKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gTGluZVNlZ21lbnQoKTsKIAog
ICAgIEZsb2F0U2hhcGVJbnRlcnZhbCBleGNsdWRlZEludGVydmFsOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBvdmVybGFwcGluZ0VkZ2VzLnNpemUoKTsgaSsrKSB7CkBAIC0xNDMsOCAr
MTQzLDEwIEBAIHZvaWQgUG9seWdvblNoYXBlOjpnZXRFeGNsdWRlZEludGVydmFscyhMYXlvdXRV
bml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNhCiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBpZiAoIWV4Y2x1ZGVkSW50ZXJ2YWwuaXNFbXB0eSgpKQotICAgICAgICByZXN1bHQuYXBwZW5k
KExpbmVTZWdtZW50KGV4Y2x1ZGVkSW50ZXJ2YWwueDEoKSwgZXhjbHVkZWRJbnRlcnZhbC54Migp
KSk7CisgICAgaWYgKGV4Y2x1ZGVkSW50ZXJ2YWwuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
TGluZVNlZ21lbnQoKTsKKworICAgIHJldHVybiBMaW5lU2VnbWVudChleGNsdWRlZEludGVydmFs
LngxKCksIGV4Y2x1ZGVkSW50ZXJ2YWwueDIoKSk7CiB9CiAKIHZvaWQgUG9seWdvblNoYXBlOjpi
dWlsZERpc3BsYXlQYXRocyhEaXNwbGF5UGF0aHMmIHBhdGhzKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Qb2x5Z29uU2hhcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUG9seWdvblNoYXBlLmgKaW5kZXggN2E2YWFiNTg2ZTVk
YWJhMGU0NDI4ZWQ4YThhNDUwYWQzZjI2ZWQ4OC4uNDRmZTYyOTdhZGVkMmU4YWE4YzkyYjVjZDY5
NTczMjI5MTg0ZmExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBl
cy9Qb2x5Z29uU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Bv
bHlnb25TaGFwZS5oCkBAIC0xMiw3ICsxMiw3IEBACiAgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwogICogICAgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBMYXlvdXRSZWN0IHNoYXBlTWFyZ2luTG9naWNhbEJvdW5kaW5nQm94KCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzRW1wdHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX3BvbHlnb24uaXNFbXB0eSgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGdldEV4Y2x1ZGVkSW50
ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBT
ZWdtZW50TGlzdCYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgTGluZVNlZ21lbnQgZ2V0
RXhjbHVkZWRJbnRlcnZhbChMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNh
bEhlaWdodCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgYnVpbGREaXNwbGF5
UGF0aHMoRGlzcGxheVBhdGhzJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5jcHAKaW5kZXggYWMwYzQyMTA1ZTgzMjUz
MWM2MWRhZTcwNDRmM2JiN2Q4MmIwYTNkNC4uZDhhZmY5OGJjZTQyMWVhNDY5OTc1YTQxMmU2NjJi
ZTg2YjlmN2FjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9S
YXN0ZXJTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0
ZXJTaGFwZS5jcHAKQEAgLTEyLDcgKzEyLDcgQEAKICAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCiAgKiAgICBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKICAqICAgIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUwpAQCAtMTQ5LDE3ICsxNDksMTcgQEAgY29uc3QgUmFzdGVyU2hh
cGVJbnRlcnZhbHMmIFJhc3RlclNoYXBlOjptYXJnaW5JbnRlcnZhbHMoKSBjb25zdAogICAgIHJl
dHVybiAqbV9tYXJnaW5JbnRlcnZhbHM7CiB9CiAKLXZvaWQgUmFzdGVyU2hhcGU6OmdldEV4Y2x1
ZGVkSW50ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVp
Z2h0LCBTZWdtZW50TGlzdCYgcmVzdWx0KSBjb25zdAorTGluZVNlZ21lbnQgUmFzdGVyU2hhcGU6
OmdldEV4Y2x1ZGVkSW50ZXJ2YWwoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGxv
Z2ljYWxIZWlnaHQpIGNvbnN0CiB7CiAgICAgY29uc3QgUmFzdGVyU2hhcGVJbnRlcnZhbHMmIGlu
dGVydmFscyA9IG1hcmdpbkludGVydmFscygpOwogICAgIGlmIChpbnRlcnZhbHMuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBMaW5lU2VnbWVudCgpOwogCiAgICAg
aW50IHkxID0gbG9naWNhbFRvcDsKICAgICBpbnQgeTIgPSBsb2dpY2FsVG9wICsgbG9naWNhbEhl
aWdodDsKICAgICBBU1NFUlQoeTIgPj0geTEpOwogICAgIGlmICh5MiA8IGludGVydmFscy5ib3Vu
ZHMoKS55KCkgfHwgeTEgPj0gaW50ZXJ2YWxzLmJvdW5kcygpLm1heFkoKSkKLSAgICAgICAgcmV0
dXJuOworICAgICAgICByZXR1cm4gTGluZVNlZ21lbnQoKTsKIAogICAgIHkxID0gc3RkOjptYXgo
eTEsIGludGVydmFscy5ib3VuZHMoKS55KCkpOwogICAgIHkyID0gc3RkOjptaW4oeTIsIGludGVy
dmFscy5ib3VuZHMoKS5tYXhZKCkpOwpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgUmFzdGVyU2hh
cGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5p
dCBsb2dpY2FsCiAgICAgICAgICAgICBleGNsdWRlZEludGVydmFsLnVuaXRlKGludGVydmFscy5p
bnRlcnZhbEF0KHkpKTsKICAgICB9CiAKLSAgICByZXN1bHQuYXBwZW5kKExpbmVTZWdtZW50KGV4
Y2x1ZGVkSW50ZXJ2YWwueDEoKSwgZXhjbHVkZWRJbnRlcnZhbC54MigpKSk7CisgICAgcmV0dXJu
IExpbmVTZWdtZW50KGV4Y2x1ZGVkSW50ZXJ2YWwueDEoKSwgZXhjbHVkZWRJbnRlcnZhbC54Migp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oCmluZGV4IDRjZDE4OTI5ODFiYmUzNjRhMGYwZDVhZTNh
ZjE2NjM3MGIzZWJjN2YuLmI3YjAxMzU2YWQ0OTJkMDIyMDM5NDBiOWFmM2Y0OWJhNWFjYWVkNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmgKQEAg
LTEyLDcgKzEyLDcgQEAKICAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCiAgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKICAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiAgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUwpAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCh5ICsgbV9vZmZz
ZXQgPj0gMCAmJiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oeSArIG1fb2Zmc2V0KSA8IG1faW50ZXJ2
YWxzLnNpemUoKSk7CiAgICAgICAgIHJldHVybiBtX2ludGVydmFsc1t5ICsgbV9vZmZzZXRdOwog
ICAgIH0KLSAgICAKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSYXN0ZXJTaGFwZUludGVydmFscz4g
Y29tcHV0ZVNoYXBlTWFyZ2luSW50ZXJ2YWxzKGludCBzaGFwZU1hcmdpbikgY29uc3Q7CiAgICAg
dm9pZCBidWlsZEJvdW5kc1BhdGgoUGF0aCYpIGNvbnN0OwogCkBAIC04OCw3ICs4OCw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBzaGFwZU1hcmdpbkxvZ2ljYWxCb3VuZGlu
Z0JveCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFJlY3Q+KG1h
cmdpbkludGVydmFscygpLmJvdW5kcygpKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pbnRlcnZhbHMtPmlzRW1wdHkoKTsgfQotICAgIHZp
cnR1YWwgdm9pZCBnZXRFeGNsdWRlZEludGVydmFscyhMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIExpbmVTZWdtZW50IGdldEV4Y2x1ZGVkSW50ZXJ2YWwoTGF5b3V0VW5pdCBsb2dp
Y2FsVG9wLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAg
dmlydHVhbCB2b2lkIGJ1aWxkRGlzcGxheVBhdGhzKERpc3BsYXlQYXRocyYgcGF0aHMpIGNvbnN0
IG92ZXJyaWRlCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9SZWN0YW5nbGVTaGFwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVz
L1JlY3RhbmdsZVNoYXBlLmNwcAppbmRleCA1YTE1ZDFkODExZjY2MThkNWMwMjA1YjMwMzFjMGFh
NDA2NDQ2NzFmLi5mMzYxOWQ2YTVhMThhZmE1NDUxZDExZjdjMzUxMjg4ZjI3MDIxN2U2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1JlY3RhbmdsZVNoYXBlLmNw
cApAQCAtMTIsNyArMTIsNyBAQAogICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKICAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwogICogICAgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTCkBAIC01MywxNyArNTMsMTcgQEAgRmxvYXRSZWN0IFJlY3RhbmdsZVNoYXBlOjpz
aGFwZU1hcmdpbkJvdW5kcygpIGNvbnN0CiAgICAgcmV0dXJuIEZsb2F0UmVjdChib3VuZHNYLCBi
b3VuZHNZLCBib3VuZHNXaWR0aCwgYm91bmRzSGVpZ2h0KTsKIH0KIAotdm9pZCBSZWN0YW5nbGVT
aGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRV
bml0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0CitMaW5lU2VnbWVu
dCBSZWN0YW5nbGVTaGFwZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbChMYXlvdXRVbml0IGxvZ2ljYWxU
b3AsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QKIHsKICAgICBjb25zdCBGbG9hdFJl
Y3QmIGJvdW5kcyA9IHNoYXBlTWFyZ2luQm91bmRzKCk7CiAgICAgaWYgKGJvdW5kcy5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIExpbmVTZWdtZW50KCk7CiAKICAg
ICBmbG9hdCB5MSA9IGxvZ2ljYWxUb3A7CiAgICAgZmxvYXQgeTIgPSBsb2dpY2FsVG9wICsgbG9n
aWNhbEhlaWdodDsKIAogICAgIGlmICh5MiA8IGJvdW5kcy55KCkgfHwgeTEgPj0gYm91bmRzLm1h
eFkoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gTGluZVNlZ21lbnQoKTsKIAog
ICAgIGZsb2F0IHgxID0gYm91bmRzLngoKTsKICAgICBmbG9hdCB4MiA9IGJvdW5kcy5tYXhYKCk7
CkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgUmVjdGFuZ2xlU2hhcGU6OmdldEV4Y2x1ZGVkSW50ZXJ2
YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICByZXN1bHQuYXBwZW5kKExpbmVTZWdtZW50KHgxLCB4MikpOworICAgIHJldHVy
biBMaW5lU2VnbWVudCh4MSwgeDIpOwogfQogCiB2b2lkIFJlY3RhbmdsZVNoYXBlOjpidWlsZERp
c3BsYXlQYXRocyhEaXNwbGF5UGF0aHMmIHBhdGhzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9SZWN0YW5nbGVTaGFwZS5oCmluZGV4IDMwMWRmMDVkMzVjMzJj
YWE3YzFiNGEyNzRlNDQ3NzE1NGNlOTI0NTIuLmYwZTNmMGY3N2E1N2NkZjU1MTVkNmZmN2I5M2Zi
MDc5NDNhMTNlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMv
UmVjdGFuZ2xlU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jl
Y3RhbmdsZVNoYXBlLmgKQEAgLTEyLDcgKzEyLDcgQEAKICAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCiAgKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKICAqICAgIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIAorICoKICAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCiAgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUwpAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIExheW91dFJlY3Qgc2hhcGVNYXJnaW5Mb2dpY2FsQm91bmRpbmdCb3goKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBzdGF0aWNfY2FzdDxMYXlvdXRSZWN0PihzaGFwZU1hcmdpbkJvdW5k
cygpKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9ib3VuZHMuaXNFbXB0eSgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGdldEV4Y2x1ZGVkSW50
ZXJ2YWxzKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBT
ZWdtZW50TGlzdCYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgTGluZVNlZ21lbnQgZ2V0
RXhjbHVkZWRJbnRlcnZhbChMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNh
bEhlaWdodCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgYnVpbGREaXNwbGF5
UGF0aHMoRGlzcGxheVBhdGhzJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zaGFwZXMvU2hhcGUuaAppbmRleCAxNDM1ZmZjYTY5ZjdjNWVjZmU0YjQyNDFkNjA1N2Fh
YjBjOGI2YjNkLi4wODY3MTVmN2MzMTQ2ZDU1NWZjYzhhMGVkZTg2YjA4ODBkMzUzN2Y4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZS5oCkBAIC0xMiw3ICsxMiw3IEBACiAg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZwogICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAK
KyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKQEAgLTM3LDIzICsz
NywyOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgTGluZVNlZ21lbnQgeworICAg
IExpbmVTZWdtZW50KCkKKyAgICAgICAgOiBsb2dpY2FsTGVmdCgwKQorICAgICAgICAsIGxvZ2lj
YWxSaWdodCgwKQorICAgICAgICAsIGlzVmFsaWQoZmFsc2UpCisgICAgeworICAgIH0KKwogICAg
IExpbmVTZWdtZW50KGZsb2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBsb2dpY2FsUmlnaHQpCiAgICAg
ICAgIDogbG9naWNhbExlZnQobG9naWNhbExlZnQpCiAgICAgICAgICwgbG9naWNhbFJpZ2h0KGxv
Z2ljYWxSaWdodCkKKyAgICAgICAgLCBpc1ZhbGlkKHRydWUpCiAgICAgewogICAgIH0KIAogICAg
IGZsb2F0IGxvZ2ljYWxMZWZ0OwogICAgIGZsb2F0IGxvZ2ljYWxSaWdodDsKKyAgICBib29sIGlz
VmFsaWQ7CiB9OwogCiBjbGFzcyBCYXNpY1NoYXBlOwogY2xhc3MgSW1hZ2U7CiBjbGFzcyBSb3Vu
ZGVkUmVjdDsKIAotdHlwZWRlZiBWZWN0b3I8TGluZVNlZ21lbnQ+IFNlZ21lbnRMaXN0OwotCi0K
IC8vIEEgcmVwcmVzZW50YXRpb24gb2YgYSBCYXNpY1NoYXBlIHRoYXQgZW5hYmxlcyBsYXlvdXQg
Y29kZSB0byBkZXRlcm1pbmUgaG93IHRvIGJyZWFrIGEgbGluZSB1cCBpbnRvIHNlZ21lbnRzCiAv
LyB0aGF0IHdpbGwgZml0IHdpdGhpbiBvciBhcm91bmQgYSBzaGFwZS4gVGhlIGxpbmUgaXMgZGVm
aW5lZCBieSBhIHBhaXIgb2YgbG9naWNhbCBZIGNvb3JkaW5hdGVzIGFuZCB0aGUKIC8vIGNvbXB1
dGVkIHNlZ21lbnRzIGFyZSByZXR1cm5lZCBhcyBwYWlycyBvZiBsb2dpY2FsIFggY29vcmRpbmF0
ZXMuIFRoZSBCYXNpY1NoYXBlIGl0c2VsZiBpcyBkZWZpbmVkIGluCkBAIC03NCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBzaGFwZU1hcmdpbkxvZ2ljYWxCb3Vu
ZGluZ0JveCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNFbXB0eSgpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoTGF5b3V0VW5pdCBsb2dp
Y2FsVG9wLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgTGluZVNlZ21lbnQgZ2V0RXhjbHVkZWRJbnRlcnZhbChMYXlvdXRVbml0
IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QgPSAwOwogCiAgICAg
Ym9vbCBsaW5lT3ZlcmxhcHNTaGFwZU1hcmdpbkJvdW5kcyhMYXlvdXRVbml0IGxpbmVUb3AsIExh
eW91dFVuaXQgbGluZUhlaWdodCkgY29uc3QgeyByZXR1cm4gbGluZU92ZXJsYXBzQm91bmRpbmdC
b3gobGluZVRvcCwgbGluZUhlaWdodCwgc2hhcGVNYXJnaW5Mb2dpY2FsQm91bmRpbmdCb3goKSk7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91
dHNpZGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvU2hhcGVPdXRz
aWRlSW5mby5jcHAKaW5kZXggNmMwMTZiYmMyMmIyYzkxMGMwMTQ1OGI1YjQ0MjdiNTcyZWUzMjIw
Zi4uOTQ1ZjdlYzMzZjA3ZTU1YjIxMDgxMWZkYWQyNTRjYTU0ZGEzOWU3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1NoYXBlT3V0c2lkZUluZm8uY3BwCkBA
IC0yODIsNyArMjgyLDcgQEAgTGF5b3V0VW5pdCBTaGFwZU91dHNpZGVJbmZvOjpsb2dpY2FsTGVm
dE9mZnNldCgpIGNvbnN0CiAgICAgY2FzZSBWaWV3Qm94OiBicmVhazsKICAgICBjYXNlIEJveE1p
c3Npbmc6IGJyZWFrOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiBMYXlvdXRVbml0KCk7CiB9CkBAIC0zMDMsMjMgKzMwMywxMCBAQCBib29sIFNo
YXBlT3V0c2lkZUluZm86OmlzRW5hYmxlZEZvcihjb25zdCBSZW5kZXJCb3gmIGJveCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLVNlZ21lbnRMaXN0IFNoYXBlT3V0c2lkZUluZm86OmNvbXB1dGVT
ZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQp
IGNvbnN0Cit2b2lkIFNoYXBlT3V0c2lkZUluZm86OnVwZGF0ZURlbHRhc0ZvckNvbnRhaW5pbmdC
bG9ja0xpbmUoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBjb250YWluaW5nQmxvY2ssIGNvbnN0IEZs
b2F0aW5nT2JqZWN0JiBmbG9hdGluZ09iamVjdCwgTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRV
bml0IGxpbmVIZWlnaHQpCiB7CiAgICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7Ci0gICAgU2Vn
bWVudExpc3Qgc2VnbWVudHM7Ci0KLSAgICBjb21wdXRlZFNoYXBlKCkuZ2V0RXhjbHVkZWRJbnRl
cnZhbHMoKGxpbmVUb3AgLSBsb2dpY2FsVG9wT2Zmc2V0KCkpLCBzdGQ6Om1pbihsaW5lSGVpZ2h0
LCBzaGFwZUxvZ2ljYWxCb3R0b20oKSAtIGxpbmVUb3ApLCBzZWdtZW50cyk7Ci0KLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHNlZ21lbnRzLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIHNlZ21l
bnRzW2ldLmxvZ2ljYWxMZWZ0ICs9IGxvZ2ljYWxMZWZ0T2Zmc2V0KCk7Ci0gICAgICAgIHNlZ21l
bnRzW2ldLmxvZ2ljYWxSaWdodCArPSBsb2dpY2FsTGVmdE9mZnNldCgpOwotICAgIH0KLSAgICAK
LSAgICByZXR1cm4gc2VnbWVudHM7Ci19CiAKLXZvaWQgU2hhcGVPdXRzaWRlSW5mbzo6dXBkYXRl
RGVsdGFzRm9yQ29udGFpbmluZ0Jsb2NrTGluZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGNvbnRh
aW5pbmdCbG9jaywgY29uc3QgRmxvYXRpbmdPYmplY3QmIGZsb2F0aW5nT2JqZWN0LCBMYXlvdXRV
bml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCkKLXsKICAgICBMYXlvdXRVbml0IGJv
cmRlckJveFRvcCA9IGNvbnRhaW5pbmdCbG9jay5sb2dpY2FsVG9wRm9yRmxvYXQoJmZsb2F0aW5n
T2JqZWN0KSArIGNvbnRhaW5pbmdCbG9jay5tYXJnaW5CZWZvcmVGb3JDaGlsZChtX3JlbmRlcmVy
KTsKICAgICBMYXlvdXRVbml0IGJvcmRlckJveExpbmVUb3AgPSBsaW5lVG9wIC0gYm9yZGVyQm94
VG9wOwogCkBAIC0zMzEsMTQgKzMxOCwxNCBAQCB2b2lkIFNoYXBlT3V0c2lkZUluZm86OnVwZGF0
ZURlbHRhc0ZvckNvbnRhaW5pbmdCbG9ja0xpbmUoY29uc3QgUmVuZGVyQmxvY2tGbG93JgogICAg
ICAgICBMYXlvdXRVbml0IGZsb2F0TWFyZ2luQm94V2lkdGggPSBjb250YWluaW5nQmxvY2subG9n
aWNhbFdpZHRoRm9yRmxvYXQoJmZsb2F0aW5nT2JqZWN0KTsKIAogICAgICAgICBpZiAoY29tcHV0
ZWRTaGFwZSgpLmxpbmVPdmVybGFwc1NoYXBlTWFyZ2luQm91bmRzKG1fcmVmZXJlbmNlQm94TGlu
ZVRvcCwgbV9saW5lSGVpZ2h0KSkgewotICAgICAgICAgICAgU2VnbWVudExpc3Qgc2VnbWVudHMg
PSBjb21wdXRlU2VnbWVudHNGb3JMaW5lKGJvcmRlckJveExpbmVUb3AsIGxpbmVIZWlnaHQpOwot
ICAgICAgICAgICAgaWYgKHNlZ21lbnRzLnNpemUoKSkgeworICAgICAgICAgICAgTGluZVNlZ21l
bnQgc2VnbWVudCA9IGNvbXB1dGVkU2hhcGUoKS5nZXRFeGNsdWRlZEludGVydmFsKChib3JkZXJC
b3hMaW5lVG9wIC0gbG9naWNhbFRvcE9mZnNldCgpKSwgc3RkOjptaW4obGluZUhlaWdodCwgc2hh
cGVMb2dpY2FsQm90dG9tKCkgLSBib3JkZXJCb3hMaW5lVG9wKSk7CisgICAgICAgICAgICBpZiAo
c2VnbWVudC5pc1ZhbGlkKSB7CiAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVm
dE1hcmdpbiA9IGNvbnRhaW5pbmdCbG9jay5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSA/IGNvbnRhaW5pbmdCbG9jay5tYXJnaW5TdGFydEZvckNoaWxkKG1fcmVuZGVyZXIpIDogY29u
dGFpbmluZ0Jsb2NrLm1hcmdpbkVuZEZvckNoaWxkKG1fcmVuZGVyZXIpOwotICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgcmF3TGVmdE1hcmdpbkJveERlbHRhID0gc2VnbWVudHMuZmlyc3QoKS5s
b2dpY2FsTGVmdCArIGxvZ2ljYWxMZWZ0TWFyZ2luOworICAgICAgICAgICAgICAgIExheW91dFVu
aXQgcmF3TGVmdE1hcmdpbkJveERlbHRhID0gc2VnbWVudC5sb2dpY2FsTGVmdCArIGxvZ2ljYWxM
ZWZ0T2Zmc2V0KCkgKyBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAgICAgICAgICAgICBtX2xlZnRN
YXJnaW5Cb3hEZWx0YSA9IGNsYW1wVG88TGF5b3V0VW5pdD4ocmF3TGVmdE1hcmdpbkJveERlbHRh
LCBMYXlvdXRVbml0KCksIGZsb2F0TWFyZ2luQm94V2lkdGgpOwogCiAgICAgICAgICAgICAgICAg
TGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRNYXJnaW4gPSBjb250YWluaW5nQmxvY2suc3R5bGUoKS5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBjb250YWluaW5nQmxvY2subWFyZ2luRW5kRm9yQ2hp
bGQobV9yZW5kZXJlcikgOiBjb250YWluaW5nQmxvY2subWFyZ2luU3RhcnRGb3JDaGlsZChtX3Jl
bmRlcmVyKTsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHJhd1JpZ2h0TWFyZ2luQm94RGVs
dGEgPSBzZWdtZW50cy5sYXN0KCkubG9naWNhbFJpZ2h0IC0gY29udGFpbmluZ0Jsb2NrLmxvZ2lj
YWxXaWR0aEZvckNoaWxkKG1fcmVuZGVyZXIpIC0gbG9naWNhbFJpZ2h0TWFyZ2luOworICAgICAg
ICAgICAgICAgIExheW91dFVuaXQgcmF3UmlnaHRNYXJnaW5Cb3hEZWx0YSA9IHNlZ21lbnQubG9n
aWNhbFJpZ2h0ICsgbG9naWNhbExlZnRPZmZzZXQoKSAtIGNvbnRhaW5pbmdCbG9jay5sb2dpY2Fs
V2lkdGhGb3JDaGlsZChtX3JlbmRlcmVyKSAtIGxvZ2ljYWxSaWdodE1hcmdpbjsKICAgICAgICAg
ICAgICAgICBtX3JpZ2h0TWFyZ2luQm94RGVsdGEgPSBjbGFtcFRvPExheW91dFVuaXQ+KHJhd1Jp
Z2h0TWFyZ2luQm94RGVsdGEsIC1mbG9hdE1hcmdpbkJveFdpZHRoLCBMYXlvdXRVbml0KCkpOwog
ICAgICAgICAgICAgICAgIG1fbGluZU92ZXJsYXBzU2hhcGUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMv
U2hhcGVPdXRzaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFw
ZU91dHNpZGVJbmZvLmgKaW5kZXggZDZiNjhkZDM1NWI3M2M1MmFjMzk1ZjZhMTAyNDVhMDk1MzZl
MzZmOC4uNzFiZWIwNjQ0MTU4NDYzZGU2YTg5ZjhkNTdiMTVhNWYzYTA2ODFiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9TaGFwZU91dHNpZGVJbmZvLmgKQEAg
LTk2LDggKzk2LDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2hh
cGU+IGNyZWF0ZVNoYXBlRm9ySW1hZ2UoU3R5bGVJbWFnZSosIGZsb2F0IHNoYXBlSW1hZ2VUaHJl
c2hvbGQsIFdyaXRpbmdNb2RlLCBmbG9hdCBtYXJnaW4pIGNvbnN0OwogCi0gICAgU2VnbWVudExp
c3QgY29tcHV0ZVNlZ21lbnRzRm9yTGluZShMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQg
bGluZUhlaWdodCkgY29uc3Q7Ci0KICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQoKSBj
b25zdDsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0KCkgY29uc3Q7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>