<?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>124956</bug_id>
          
          <creation_ts>2013-11-27 20:16:09 -0800</creation_ts>
          <short_desc>Move TrailingObjects class into its own h/cpp</short_desc>
          <delta_ts>2013-12-04 15:18:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>
          <dependson>124957</dependson>
          <blocked>121261</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954643</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-11-27 20:16:09 -0800</bug_when>
    <thetext>Separate TrailingObjects class from BreakingContextInlineHeaders.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956602</commentid>
    <comment_count>1</comment_count>
      <attachid>218446</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-12-04 14:18:21 -0800</bug_when>
    <thetext>Created attachment 218446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956635</commentid>
    <comment_count>2</comment_count>
      <attachid>218446</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-12-04 14:51:42 -0800</bug_when>
    <thetext>Comment on attachment 218446
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956654</commentid>
    <comment_count>3</comment_count>
      <attachid>218446</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-04 15:18:52 -0800</bug_when>
    <thetext>Comment on attachment 218446
Patch

Clearing flags on attachment: 218446

Committed r160135: &lt;http://trac.webkit.org/changeset/160135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956655</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-04 15:18:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218446</attachid>
            <date>2013-12-04 14:18:21 -0800</date>
            <delta_ts>2013-12-04 15:18:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>trailingobjects.patch</filename>
            <type>text/plain</type>
            <size>20213</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjAyOTlkOC4uOTkzNzExNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTIyMjIsNiArMjIyMiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICByZW5k
ZXJpbmcvbGluZS9MaW5lQnJlYWtlci5jcHAKICAgICByZW5kZXJpbmcvbGluZS9MaW5lSW5mby5j
cHAKICAgICByZW5kZXJpbmcvbGluZS9MaW5lV2lkdGguY3BwCisgICAgcmVuZGVyaW5nL2xpbmUv
VHJhaWxpbmdPYmplY3RzLmNwcAogCiAgICAgcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxC
bG9jay5jcHAKICAgICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAyNjQ5M2JhLi5jOTQ1Y2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTMtMTItMDQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgTW92ZSBUcmFpbGluZ09iamVjdHMgY2xhc3MgaW50byBpdHMgb3duIGgvY3BwCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ5NTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBJIG1vdmVkIHNw
YWNlLWlnbm9yaW5nIGlubGluZSBmdW5jdGlvbnMgaW50byBNaWRwb2ludFN0YXRlIGluIHIxNjAw
NzQsCisgICAgICAgIEkgY2FuIG5pY2VseSBzZXBhcmF0ZSBUcmFpbGluZ09iamVjdHMgY2xhc3Mg
ZnJvbSBCcmVha2luZ0NvbnRleHRJbmxpbmVIZWFkZXIuaC4KKyAgICAgICAgVGhpcyBjaGFuZ2Ug
aW1wcm92ZXMgdGhlIHJlYWRhYmlsaXR5LCBhbmQgaXQncyBwYXJ0IG9mIHRoZSBSZW5kZXJCbG9j
a0xpbmVMYXlvdXQKKyAgICAgICAgcmVmYWN0b3JpbmcgY2FtcGFpZ24sIHdoaWNoIGlzIHRyYWNr
ZWQgdW5kZXIgYnVnICMxMjEyNjEuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlv
ciBjaGFuZ2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHRJbmxpbmVI
ZWFkZXJzLmg6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFpbGluZ09iamVjdHM6OnVwZGF0ZU1pZHBvaW50
c0ZvclRyYWlsaW5nQm94ZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL1RyYWlsaW5nT2Jq
ZWN0cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWlsaW5nT2JqZWN0czo6VHJhaWxp
bmdPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWlsaW5nT2JqZWN0czo6c2V0VHJhaWxp
bmdXaGl0ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWlsaW5nT2JqZWN0czo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6VHJhaWxpbmdPYmplY3RzOjphcHBlbmRCb3hJZk5lZWRlZCk6
CisKIDIwMTMtMTItMDQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIFdpbmRvd3MgYnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIgcjE2MDA5
OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMwMWNlYmUuLjFjNmQ0ZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDUyOCw2ICs0NTI4LDcgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0
U3RhdGUuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZVdpZHRoLmggXAog
CVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVXaWR0aC5jcHAgXAorICAgIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA0MTY1NTZj
Li4yNzUwOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKQEAgLTExMDgwLDYgKzExMDgwLDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJlbmRlcmluZ1xsaW5lXExpbmVCcmVha2VyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJlbmRlcmluZ1xsaW5lXExpbmVJbmZvLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xsaW5lXExpbmVXaWR0aC5jcHAiIC8+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbGluZVxUcmFpbGluZ09iamVjdHMuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHNoYXBlc1xCb3hTaGFwZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc2hhcGVzXFBvbHlnb25T
aGFwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc2hhcGVz
XFJhc3RlclNoYXBlLmNwcCIgLz4KQEAgLTE5OTMwLDYgKzE5OTMxLDcgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xsaW5lXExpbmVJbmxpbmVIZWFkZXJzLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbGluZVxMaW5lTGF5b3V0U3RhdGUu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xsaW5lXExpbmVXaWR0
aC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXGxpbmVcVHJhaWxp
bmdPYmplY3RzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc2hh
cGVzXEJveFNoYXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdc
c2hhcGVzXFBvbHlnb25TaGFwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXHNoYXBlc1xSYXN0ZXJTaGFwZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNkYzc3YjguLjk0NDk5MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTYzMjQsNiArNjMyNCw4IEBACiAJCUZFRTE4MTE0MTZDMzE5RTgwMDA4NDg0OSAvKiBTUUxU
cmFuc2FjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZFRTE4MTEyMTZDMzE5RTgwMDA4NDg0OSAvKiBTUUxUcmFuc2FjdGlvbkJhY2tl
bmQuaCAqLzsgfTsKIAkJRkY5NDVFQ0IxNjFGN0YzNjAwOTcxQkM4IC8qIFBzZXVkb0VsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY5NDVF
QzkxNjFGN0YzNjAwOTcxQkM4IC8qIFBzZXVkb0VsZW1lbnQuY3BwICovOyB9OwogCQlGRjk0NUVD
QzE2MUY3RjM2MDA5NzFCQzggLyogUHNldWRvRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY5NDVFQ0ExNjFGN0YzNjAwOTcxQkM4IC8qIFBz
ZXVkb0VsZW1lbnQuaCAqLzsgfTsKKwkJRkZBQzMwRkUxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWls
aW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkZBQzMwRkMxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWlsaW5nT2JqZWN0cy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGQUMzMEZGMTg0RkIx
NDUwMDhDNEYxRSAvKiBUcmFpbGluZ09iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkZBQzMwRkQxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWls
aW5nT2JqZWN0cy5jcHAgKi87IH07CiAJCUZGQjY5OENDMTgzM0VFMEQwMDE1OEEzMSAvKiBMaW5l
QnJlYWtlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRkI2OThDQTE4MzNFQzM4MDAxNThBMzEgLyogTGluZUJyZWFrZXIuY3BwICovOyB9OwogCQlG
RkI2OThDRjE4MzQwMkJCMDAxNThBMzEgLyogTGluZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkZCNjk4Q0QxODMzRjE3NjAwMTU4QTMxIC8q
IExpbmVJbmZvLmNwcCAqLzsgfTsKIAkJRkZENUI5N0ExMzVDQzk3ODAwRDVFOTJBIC8qIFBhZ2VW
aXNpYmlsaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkZENUI5NzcxMzVDQzk3ODAwRDVFOTJBIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUu
Y3BwICovOyB9OwpAQCAtMTM1MzYsNiArMTM1MzgsOCBAQAogCQlGRUUxODExMjE2QzMxOUU4MDAw
ODQ4NDkgLyogU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNRTFRyYW5zYWN0aW9uQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRjk0NUVDOTE2MUY3RjM2MDA5NzFCQzggLyogUHNldWRvRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQc2V1ZG9FbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkY5NDVFQ0ExNjFGN0YzNjAwOTcxQkM4IC8qIFBz
ZXVkb0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHNldWRvRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRkFDMzBGQzE4NEZCMTQ1MDA4
QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFRyYWlsaW5nT2JqZWN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRkFD
MzBGRDE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYWlsaW5nT2JqZWN0cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZGQjY5OEM5MTgzMkYxMEIwMDE1OEEzMSAvKiBCcmVha2luZ0Nv
bnRleHRJbmxpbmVIZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJy
ZWFraW5nQ29udGV4dElubGluZUhlYWRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkZCNjk4Q0ExODMzRUMzODAwMTU4QTMxIC8qIExpbmVCcmVha2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpbmVCcmVha2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkZCNjk4Q0IxODMzRUMzODAwMTU4QTMxIC8qIExpbmVCcmVha2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExpbmVCcmVha2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjAwOCw2ICsyMjAxMiw4IEBACiAJCUZGQjY5OEM4
MTgzMkYxMEIwMDE1OEEzMSAvKiBsaW5lICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQlGRkFDMzBGQzE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdPYmpl
Y3RzLmggKi8sCisJCQkJRkZBQzMwRkQxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWlsaW5nT2JqZWN0
cy5jcHAgKi8sCiAJCQkJRkZEQkMwNDUxODNEMjdCNzAwNDA3MTA5IC8qIExpbmVXaWR0aC5oICov
LAogCQkJCUZGREJDMDQ2MTgzRDI3QjcwMDQwNzEwOSAvKiBMaW5lV2lkdGguY3BwICovLAogCQkJ
CUZGRUZBQjJEMTgzQkNCNkYwMDUxNDUzNCAvKiBMaW5lSW5saW5lSGVhZGVycy5oICovLApAQCAt
MjQ0OTUsNiArMjQ1MDEsNyBAQAogCQkJCTQ5RTkxMUNCMEVGODZENDcwMDlEMENBRiAvKiBTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURGRThGNTcwRDE2NDc3
QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2MkM3
RjUxMUY3N0VGQjAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlGRkFDMzBGRTE4NEZCMTQ1MDA4QzRGMUUgLyogVHJhaWxpbmdPYmplY3RzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5QkQwQkY5MzEyQTQyQkY1MDA3MkZENDMgLyogU2NvcGVkRXZlbnRRdWV1ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQzAxQkUwQzI3NERBQzAwOUY0RUM5IC8qIFNjcmVlbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTg0RDgyQzExMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjYzMSw2ICsyNjYzOCw3IEBA
CiAJCQkJN0FDRDg4RDMxNEMwOEJENjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTREMjczQ0Y5MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNw
ZWN0b3JJbnB1dEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTIwRDYyOTI2MTI1MzY5MEIw
MDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJRkZBQzMwRkYxODRGQjE0NTAwOEM0RjFFIC8qIFRyYWlsaW5nT2JqZWN0cy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3MUIxRTEyNjE2NDA0OTFBMDBCMTg4MEEgLyogSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBNTFERDUxNDg1MDZBOTAwQUQyNzUy
IC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNTIyRDRC
MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZjYzODA2Li5lOWQ5MzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNDEsNyArNDEsNiBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCaWRpQ29udGV4dDsKLWNsYXNzIElubGlu
ZUl0ZXJhdG9yOwogY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyOwogY2xhc3MgTGluZUxheW91
dFN0YXRlOwogY2xhc3MgTGluZVdpZHRoOwpAQCAtNTksMTEgKzU4LDcgQEAgY2xhc3MgQmFzaWNT
aGFwZTsKIGNsYXNzIFRleHRMYXlvdXQ7CiBjbGFzcyBXb3JkTWVhc3VyZW1lbnQ7CiAKLXRlbXBs
YXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXI7CiB0ZW1w
bGF0ZSA8Y2xhc3MgUnVuPiBjbGFzcyBCaWRpUnVuTGlzdDsKLXRlbXBsYXRlIDxjbGFzcyBJdGVy
YXRvcj4gY2xhc3MgTWlkcG9pbnRTdGF0ZTsKLXR5cGVkZWYgQmlkaVJlc29sdmVyPElubGluZUl0
ZXJhdG9yLCBCaWRpUnVuPiBJbmxpbmVCaWRpUmVzb2x2ZXI7Ci10eXBlZGVmIE1pZHBvaW50U3Rh
dGU8SW5saW5lSXRlcmF0b3I+IExpbmVNaWRwb2ludFN0YXRlOwogdHlwZWRlZiBXVEY6Okxpc3RI
YXNoU2V0PFJlbmRlckJveCosIDE2PiBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDsKIHR5cGVk
ZWYgV1RGOjpIYXNoTWFwPGNvbnN0IFJlbmRlckJsb2NrKiwgT3duUHRyPFRyYWNrZWRSZW5kZXJl
ckxpc3RIYXNoU2V0Pj4gVHJhY2tlZERlc2NlbmRhbnRzTWFwOwogdHlwZWRlZiBXVEY6Okhhc2hN
YXA8Y29uc3QgUmVuZGVyQm94KiwgT3duUHRyPEhhc2hTZXQ8UmVuZGVyQmxvY2sqPj4+IFRyYWNr
ZWRDb250YWluZXJNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmgKaW5kZXggNWQyODEwMS4uNzQ0ZDgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJveExpc3QuaCIKICNpbmNsdWRlICJTaW1wbGVMaW5l
TGF5b3V0LmgiCisjaW5jbHVkZSAiVHJhaWxpbmdPYmplY3RzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtp
bmdDb250ZXh0SW5saW5lSGVhZGVycy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
QnJlYWtpbmdDb250ZXh0SW5saW5lSGVhZGVycy5oCmluZGV4IGEzODZjMzIuLmNjOTZkOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dElu
bGluZUhlYWRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2lu
Z0NvbnRleHRJbmxpbmVIZWFkZXJzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyUnVieVJ1bi5oIgorI2luY2x1ZGUgIlRyYWlsaW5nT2JqZWN0cy5oIgogI2luY2x1ZGUgImJy
ZWFrX2xpbmVzLmgiCiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIApA
QCAtNjcsODYgKzY4LDYgQEAgcHVibGljOgogICAgIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiBmYWxsYmFja0ZvbnRzOwogfTsKIAotY2xhc3MgVHJhaWxpbmdPYmplY3RzIHsKLXB1Ymxp
YzoKLSAgICBUcmFpbGluZ09iamVjdHMoKTsKLSAgICB2b2lkIHNldFRyYWlsaW5nV2hpdGVzcGFj
ZShSZW5kZXJUZXh0Kik7Ci0gICAgdm9pZCBjbGVhcigpOwotICAgIHZvaWQgYXBwZW5kQm94SWZO
ZWVkZWQoUmVuZGVyQm94TW9kZWxPYmplY3QqKTsKLQotICAgIGVudW0gQ29sbGFwc2VGaXJzdFNw
YWNlT3JOb3QgeyBEb05vdENvbGxhcHNlRmlyc3RTcGFjZSwgQ29sbGFwc2VGaXJzdFNwYWNlIH07
Ci0KLSAgICB2b2lkIHVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94ZXMoTGluZU1pZHBvaW50
U3RhdGUmLCBjb25zdCBJbmxpbmVJdGVyYXRvciYgbEJyZWFrLCBDb2xsYXBzZUZpcnN0U3BhY2VP
ck5vdCk7Ci0KLXByaXZhdGU6Ci0gICAgUmVuZGVyVGV4dCogbV93aGl0ZXNwYWNlOwotICAgIFZl
Y3RvcjxSZW5kZXJCb3hNb2RlbE9iamVjdCosIDQ+IG1fYm94ZXM7Ci19OwotCi1UcmFpbGluZ09i
amVjdHM6OlRyYWlsaW5nT2JqZWN0cygpCi0gICAgOiBtX3doaXRlc3BhY2UoMCkKLXsKLX0KLQot
aW5saW5lIHZvaWQgVHJhaWxpbmdPYmplY3RzOjpzZXRUcmFpbGluZ1doaXRlc3BhY2UoUmVuZGVy
VGV4dCogd2hpdGVzcGFjZSkKLXsKLSAgICBBU1NFUlQod2hpdGVzcGFjZSk7Ci0gICAgbV93aGl0
ZXNwYWNlID0gd2hpdGVzcGFjZTsKLX0KLQotaW5saW5lIHZvaWQgVHJhaWxpbmdPYmplY3RzOjpj
bGVhcigpCi17Ci0gICAgbV93aGl0ZXNwYWNlID0gMDsKLSAgICBtX2JveGVzLnNocmluaygwKTsg
Ly8gVXNlIHNocmluaygwKSBpbnN0ZWFkIG9mIGNsZWFyKCkgdG8gcmV0YWluIG91ciBjYXBhY2l0
eS4KLX0KLQotaW5saW5lIHZvaWQgVHJhaWxpbmdPYmplY3RzOjphcHBlbmRCb3hJZk5lZWRlZChS
ZW5kZXJCb3hNb2RlbE9iamVjdCogYm94KQotewotICAgIGlmIChtX3doaXRlc3BhY2UpCi0gICAg
ICAgIG1fYm94ZXMuYXBwZW5kKGJveCk7Ci19Ci0KLXZvaWQgVHJhaWxpbmdPYmplY3RzOjp1cGRh
dGVNaWRwb2ludHNGb3JUcmFpbGluZ0JveGVzKExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9p
bnRTdGF0ZSwgY29uc3QgSW5saW5lSXRlcmF0b3ImIGxCcmVhaywgQ29sbGFwc2VGaXJzdFNwYWNl
T3JOb3QgY29sbGFwc2VGaXJzdFNwYWNlKQotewotICAgIGlmICghbV93aGl0ZXNwYWNlKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICAvLyBUaGlzIG9iamVjdCBpcyBlaXRoZXIgZ29pbmcgdG8gYmUg
cGFydCBvZiB0aGUgbGFzdCBtaWRwb2ludCwgb3IgaXQgaXMgZ29pbmcgdG8gYmUgdGhlIGFjdHVh
bCBlbmRwb2ludC4KLSAgICAvLyBJbiBib3RoIGNhc2VzIHdlIGp1c3QgZGVjcmVhc2Ugb3VyIHBv
cyBieSAxIGxldmVsIHRvIGV4Y2x1ZGUgdGhlIHNwYWNlLCBhbGxvd2luZyBpdCB0byAtIGluIGVm
ZmVjdCAtIGNvbGxhcHNlIGludG8gdGhlIG5ld2xpbmUuCi0gICAgaWYgKGxpbmVNaWRwb2ludFN0
YXRlLm51bU1pZHBvaW50cyAlIDIpIHsKLSAgICAgICAgLy8gRmluZCB0aGUgdHJhaWxpbmcgc3Bh
Y2Ugb2JqZWN0J3MgbWlkcG9pbnQuCi0gICAgICAgIGludCB0cmFpbGluZ1NwYWNlTWlkcG9pbnQg
PSBsaW5lTWlkcG9pbnRTdGF0ZS5udW1NaWRwb2ludHMgLSAxOwotICAgICAgICBmb3IgKCA7IHRy
YWlsaW5nU3BhY2VNaWRwb2ludCA+IDAgJiYgbGluZU1pZHBvaW50U3RhdGUubWlkcG9pbnRzW3Ry
YWlsaW5nU3BhY2VNaWRwb2ludF0ucmVuZGVyZXIoKSAhPSBtX3doaXRlc3BhY2U7IC0tdHJhaWxp
bmdTcGFjZU1pZHBvaW50KSB7IH0KLSAgICAgICAgQVNTRVJUKHRyYWlsaW5nU3BhY2VNaWRwb2lu
dCA+PSAwKTsKLSAgICAgICAgaWYgKGNvbGxhcHNlRmlyc3RTcGFjZSA9PSBDb2xsYXBzZUZpcnN0
U3BhY2UpCi0gICAgICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbdHJhaWxpbmdT
cGFjZU1pZHBvaW50XS5tX3Bvcy0tOwotCi0gICAgICAgIC8vIE5vdyBtYWtlIHN1cmUgZXZlcnkg
c2luZ2xlIHRyYWlsaW5nUG9zaXRpb25lZEJveCBmb2xsb3dpbmcgdGhlIHRyYWlsaW5nU3BhY2VN
aWRwb2ludCBwcm9wZXJseSBzdG9wcyBhbmQgc3RhcnRzCi0gICAgICAgIC8vIGlnbm9yaW5nIHNw
YWNlcy4KLSAgICAgICAgc2l6ZV90IGN1cnJlbnRNaWRwb2ludCA9IHRyYWlsaW5nU3BhY2VNaWRw
b2ludCArIDE7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ib3hlcy5zaXplKCk7
ICsraSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRNaWRwb2ludCA+PSBsaW5lTWlkcG9pbnRT
dGF0ZS5udW1NaWRwb2ludHMpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGEg
bWlkcG9pbnQgZm9yIHRoaXMgYm94IHlldC4KLSAgICAgICAgICAgICAgICBsaW5lTWlkcG9pbnRT
dGF0ZS5lbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNwYWNlcyhtX2JveGVzW2ldKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGxpbmVNaWRwb2ludFN0YXRl
Lm1pZHBvaW50c1tjdXJyZW50TWlkcG9pbnRdLnJlbmRlcmVyKCkgPT0gbV9ib3hlc1tpXSk7Ci0g
ICAgICAgICAgICAgICAgQVNTRVJUKGxpbmVNaWRwb2ludFN0YXRlLm1pZHBvaW50c1tjdXJyZW50
TWlkcG9pbnQgKyAxXS5yZW5kZXJlcigpID09IG1fYm94ZXNbaV0pOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgY3VycmVudE1pZHBvaW50ICs9IDI7Ci0gICAgICAgIH0KLSAgICB9IGVsc2Ug
aWYgKCFsQnJlYWsucmVuZGVyZXIoKSkgewotICAgICAgICBBU1NFUlQobV93aGl0ZXNwYWNlLT5p
c1RleHQoKSk7Ci0gICAgICAgIEFTU0VSVChjb2xsYXBzZUZpcnN0U3BhY2UgPT0gQ29sbGFwc2VG
aXJzdFNwYWNlKTsKLSAgICAgICAgLy8gQWRkIGEgbmV3IGVuZCBtaWRwb2ludCB0aGF0IHN0b3Bz
IHJpZ2h0IGF0IHRoZSB2ZXJ5IGVuZC4KLSAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV93aGl0
ZXNwYWNlLT50ZXh0TGVuZ3RoKCk7Ci0gICAgICAgIHVuc2lnbmVkIHBvcyA9IGxlbmd0aCA+PSAy
ID8gbGVuZ3RoIC0gMiA6IFVJTlRfTUFYOwotICAgICAgICBJbmxpbmVJdGVyYXRvciBlbmRNaWQo
MCwgbV93aGl0ZXNwYWNlLCBwb3MpOwotICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5zdGFydEln
bm9yaW5nU3BhY2VzKGVuZE1pZCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9i
b3hlcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGxpbmVNaWRwb2ludFN0YXRlLmVuc3VyZUxp
bmVCb3hJbnNpZGVJZ25vcmVkU3BhY2VzKG1fYm94ZXNbaV0pOwotICAgIH0KLX0KLQogY2xhc3Mg
QnJlYWtpbmdDb250ZXh0IHsKIHB1YmxpYzoKICAgICBCcmVha2luZ0NvbnRleHQoTGluZUJyZWFr
ZXImIGxpbmVCcmVha2VyLCBJbmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sdmVyLCBMaW5lSW5mbyYg
aW5MaW5lSW5mbywgTGluZVdpZHRoJiBsaW5lV2lkdGgsIFJlbmRlclRleHRJbmZvJiBpblJlbmRl
clRleHRJbmZvLCBGbG9hdGluZ09iamVjdCogaW5MYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lLCBi
b29sIGFwcGxpZWRTdGFydFdpZHRoLCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3RzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZjZTg0YQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5jcHAKQEAgLTAsMCAr
MSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBMYXJzIEtub2xsIChrbm9sbEBrZGUu
b3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
LCAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0IHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ2hhbmdTZW9rIE9oIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBZG9iZSBTeXN0ZW1zIEluYy4gQWxsIHJpZ2h0IHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRyYWlsaW5nT2JqZWN0cy5oIgorCisjaW5jbHVk
ZSAiSW5saW5lSXRlcmF0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFRyYWls
aW5nT2JqZWN0czo6dXBkYXRlTWlkcG9pbnRzRm9yVHJhaWxpbmdCb3hlcyhMaW5lTWlkcG9pbnRT
dGF0ZSYgbGluZU1pZHBvaW50U3RhdGUsIGNvbnN0IElubGluZUl0ZXJhdG9yJiBsQnJlYWssIENv
bGxhcHNlRmlyc3RTcGFjZU9yTm90IGNvbGxhcHNlRmlyc3RTcGFjZSkKK3sKKyAgICBpZiAoIW1f
d2hpdGVzcGFjZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gVGhpcyBvYmplY3QgaXMgZWl0
aGVyIGdvaW5nIHRvIGJlIHBhcnQgb2YgdGhlIGxhc3QgbWlkcG9pbnQsIG9yIGl0IGlzIGdvaW5n
IHRvIGJlIHRoZSBhY3R1YWwgZW5kcG9pbnQuCisgICAgLy8gSW4gYm90aCBjYXNlcyB3ZSBqdXN0
IGRlY3JlYXNlIG91ciBwb3MgYnkgMSBsZXZlbCB0byBleGNsdWRlIHRoZSBzcGFjZSwgYWxsb3dp
bmcgaXQgdG8gLSBpbiBlZmZlY3QgLSBjb2xsYXBzZSBpbnRvIHRoZSBuZXdsaW5lLgorICAgIGlm
IChsaW5lTWlkcG9pbnRTdGF0ZS5udW1NaWRwb2ludHMgJSAyKSB7CisgICAgICAgIC8vIEZpbmQg
dGhlIHRyYWlsaW5nIHNwYWNlIG9iamVjdCdzIG1pZHBvaW50LgorICAgICAgICBpbnQgdHJhaWxp
bmdTcGFjZU1pZHBvaW50ID0gbGluZU1pZHBvaW50U3RhdGUubnVtTWlkcG9pbnRzIC0gMTsKKyAg
ICAgICAgZm9yICggOyB0cmFpbGluZ1NwYWNlTWlkcG9pbnQgPiAwICYmIGxpbmVNaWRwb2ludFN0
YXRlLm1pZHBvaW50c1t0cmFpbGluZ1NwYWNlTWlkcG9pbnRdLnJlbmRlcmVyKCkgIT0gbV93aGl0
ZXNwYWNlOyAtLXRyYWlsaW5nU3BhY2VNaWRwb2ludCkgeyB9CisgICAgICAgIEFTU0VSVCh0cmFp
bGluZ1NwYWNlTWlkcG9pbnQgPj0gMCk7CisgICAgICAgIGlmIChjb2xsYXBzZUZpcnN0U3BhY2Ug
PT0gQ29sbGFwc2VGaXJzdFNwYWNlKQorICAgICAgICAgICAgbGluZU1pZHBvaW50U3RhdGUubWlk
cG9pbnRzW3RyYWlsaW5nU3BhY2VNaWRwb2ludF0ubV9wb3MtLTsKKworICAgICAgICAvLyBOb3cg
bWFrZSBzdXJlIGV2ZXJ5IHNpbmdsZSB0cmFpbGluZ1Bvc2l0aW9uZWRCb3ggZm9sbG93aW5nIHRo
ZSB0cmFpbGluZ1NwYWNlTWlkcG9pbnQgcHJvcGVybHkgc3RvcHMgYW5kIHN0YXJ0cworICAgICAg
ICAvLyBpZ25vcmluZyBzcGFjZXMuCisgICAgICAgIHNpemVfdCBjdXJyZW50TWlkcG9pbnQgPSB0
cmFpbGluZ1NwYWNlTWlkcG9pbnQgKyAxOworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fYm94ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50TWlkcG9pbnQg
Pj0gbGluZU1pZHBvaW50U3RhdGUubnVtTWlkcG9pbnRzKSB7CisgICAgICAgICAgICAgICAgLy8g
V2UgZG9uJ3QgaGF2ZSBhIG1pZHBvaW50IGZvciB0aGlzIGJveCB5ZXQuCisgICAgICAgICAgICAg
ICAgbGluZU1pZHBvaW50U3RhdGUuZW5zdXJlTGluZUJveEluc2lkZUlnbm9yZWRTcGFjZXMobV9i
b3hlc1tpXSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChs
aW5lTWlkcG9pbnRTdGF0ZS5taWRwb2ludHNbY3VycmVudE1pZHBvaW50XS5yZW5kZXJlcigpID09
IG1fYm94ZXNbaV0pOworICAgICAgICAgICAgICAgIEFTU0VSVChsaW5lTWlkcG9pbnRTdGF0ZS5t
aWRwb2ludHNbY3VycmVudE1pZHBvaW50ICsgMV0ucmVuZGVyZXIoKSA9PSBtX2JveGVzW2ldKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGN1cnJlbnRNaWRwb2ludCArPSAyOworICAgICAg
ICB9CisgICAgfSBlbHNlIGlmICghbEJyZWFrLnJlbmRlcmVyKCkpIHsKKyAgICAgICAgQVNTRVJU
KG1fd2hpdGVzcGFjZS0+aXNUZXh0KCkpOworICAgICAgICBBU1NFUlQoY29sbGFwc2VGaXJzdFNw
YWNlID09IENvbGxhcHNlRmlyc3RTcGFjZSk7CisgICAgICAgIC8vIEFkZCBhIG5ldyBlbmQgbWlk
cG9pbnQgdGhhdCBzdG9wcyByaWdodCBhdCB0aGUgdmVyeSBlbmQuCisgICAgICAgIHVuc2lnbmVk
IGxlbmd0aCA9IG1fd2hpdGVzcGFjZS0+dGV4dExlbmd0aCgpOworICAgICAgICB1bnNpZ25lZCBw
b3MgPSBsZW5ndGggPj0gMiA/IGxlbmd0aCAtIDIgOiBVSU5UX01BWDsKKyAgICAgICAgSW5saW5l
SXRlcmF0b3IgZW5kTWlkKDAsIG1fd2hpdGVzcGFjZSwgcG9zKTsKKyAgICAgICAgbGluZU1pZHBv
aW50U3RhdGUuc3RhcnRJZ25vcmluZ1NwYWNlcyhlbmRNaWQpOworICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fYm94ZXMuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBsaW5lTWlkcG9p
bnRTdGF0ZS5lbnN1cmVMaW5lQm94SW5zaWRlSWdub3JlZFNwYWNlcyhtX2JveGVzW2ldKTsKKyAg
ICB9Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1Ry
YWlsaW5nT2JqZWN0cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdP
YmplY3RzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFlZGVhNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2Jq
ZWN0cy5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgTGFycyBL
bm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNiwg
MjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodCByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzIENoYW5nU2VvayBPaCA8c2hpdmFtaWRvd0BnbWFpbC5j
b20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmMuIEFsbCByaWdodCBy
ZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKgorICovCisKKyNpZm5kZWYgVHJhaWxpbmdPYmplY3RzX2gKKyNkZWZpbmUgVHJhaWxpbmdP
YmplY3RzX2gKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBJbmxpbmVJdGVyYXRvcjsKK2NsYXNzIFJlbmRlckJveE1vZGVsT2JqZWN0Owor
Y2xhc3MgUmVuZGVyVGV4dDsKKworc3RydWN0IEJpZGlSdW47CisKK3RlbXBsYXRlIDxjbGFzcyBJ
dGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXI7Cit0ZW1wbGF0ZSA8Y2xhc3Mg
SXRlcmF0b3I+IGNsYXNzIE1pZHBvaW50U3RhdGU7Cit0eXBlZGVmIEJpZGlSZXNvbHZlcjxJbmxp
bmVJdGVyYXRvciwgQmlkaVJ1bj4gSW5saW5lQmlkaVJlc29sdmVyOwordHlwZWRlZiBNaWRwb2lu
dFN0YXRlPElubGluZUl0ZXJhdG9yPiBMaW5lTWlkcG9pbnRTdGF0ZTsKKworY2xhc3MgVHJhaWxp
bmdPYmplY3RzIHsKK3B1YmxpYzoKKyAgICBUcmFpbGluZ09iamVjdHMoKQorICAgICAgICA6IG1f
d2hpdGVzcGFjZSgwKQorICAgIHsgfQorCisgICAgdm9pZCBzZXRUcmFpbGluZ1doaXRlc3BhY2Uo
UmVuZGVyVGV4dCogd2hpdGVzcGFjZSkKKyAgICB7CisgICAgICAgIEFTU0VSVCh3aGl0ZXNwYWNl
KTsKKyAgICAgICAgbV93aGl0ZXNwYWNlID0gd2hpdGVzcGFjZTsKKyAgICB9CisKKyAgICB2b2lk
IGNsZWFyKCkKKyAgICB7CisgICAgICAgIG1fd2hpdGVzcGFjZSA9IDA7CisgICAgICAgIG1fYm94
ZXMuc2hyaW5rKDApOyAvLyBVc2Ugc2hyaW5rKDApIGluc3RlYWQgb2YgY2xlYXIoKSB0byByZXRh
aW4gb3VyIGNhcGFjaXR5LgorICAgIH0KKworICAgIHZvaWQgYXBwZW5kQm94SWZOZWVkZWQoUmVu
ZGVyQm94TW9kZWxPYmplY3QqIGJveCkKKyAgICB7CisgICAgICAgIGlmIChtX3doaXRlc3BhY2Up
CisgICAgICAgICAgICBtX2JveGVzLmFwcGVuZChib3gpOworICAgIH0KKworICAgIGVudW0gQ29s
bGFwc2VGaXJzdFNwYWNlT3JOb3QgeyBEb05vdENvbGxhcHNlRmlyc3RTcGFjZSwgQ29sbGFwc2VG
aXJzdFNwYWNlIH07CisKKyAgICB2b2lkIHVwZGF0ZU1pZHBvaW50c0ZvclRyYWlsaW5nQm94ZXMo
TGluZU1pZHBvaW50U3RhdGUmLCBjb25zdCBJbmxpbmVJdGVyYXRvciYgbEJyZWFrLCBDb2xsYXBz
ZUZpcnN0U3BhY2VPck5vdCk7CisKK3ByaXZhdGU6CisgICAgUmVuZGVyVGV4dCogbV93aGl0ZXNw
YWNlOworICAgIFZlY3RvcjxSZW5kZXJCb3hNb2RlbE9iamVjdCosIDQ+IG1fYm94ZXM7Cit9Owor
Cit9CisKKyNlbmRpZiAvLyBUcmFpbGluZ09iamVjdHNfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>