<?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>125036</bug_id>
          
          <creation_ts>2013-11-30 18:48:01 -0800</creation_ts>
          <short_desc>[Cocoa] Stop using the WKPageRef API in WKBrowsingContextController</short_desc>
          <delta_ts>2013-11-30 22:00:00 -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>WebKit2</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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955096</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-30 18:48:01 -0800</bug_when>
    <thetext>[Cocoa] Stop using the WKPageRef API in WKBrowsingContextController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955097</commentid>
    <comment_count>1</comment_count>
      <attachid>218098</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-30 18:49:44 -0800</bug_when>
    <thetext>Created attachment 218098
Call WebPageProxy functions directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955123</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-30 22:00:00 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r159894&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218098</attachid>
            <date>2013-11-30 18:49:44 -0800</date>
            <delta_ts>2013-11-30 18:54:03 -0800</delta_ts>
            <desc>Call WebPageProxy functions directly</desc>
            <filename>bug-125036-20131130185004.patch</filename>
            <type>text/plain</type>
            <size>18336</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTg5MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDEzLTExLTMwICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBTdG9wIHVzaW5nIHRo
ZSBXS1BhZ2VSZWYgQVBJIGluIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MDM2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV0tO
U1VSTEV4dHJhcy5oOiBEZWNsYXJlZCBuZXcgbWV0aG9kLgorICAgICAgICAqIFNoYXJlZC9Db2Nv
YS9XS05TVVJMRXh0cmFzLm1tOgorICAgICAgICAoLVtOU1VSTCBfd2ViX29yaWdpbmFsRGF0YUFz
V1RGU3RyaW5nXSk6IEFkZGVkLiBSZXR1cm5zIGEgV1RGOjpTdHJpbmcgd2l0aCB0aGUgcmVjZWl2
ZXLigJlzCisgICAgICAgIGJ5dGVzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlciBsb2FkUmVxdWVzdDp1c2VyRGF0YTpdKToKKyAgICAgICAgKC1bV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyIGxvYWRGaWxlVVJMOnJlc3RyaWN0VG9GaWxlc1dpdGhpbjp1
c2VyRGF0YTpdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGxvYWRI
VE1MU3RyaW5nOmJhc2VVUkw6dXNlckRhdGE6XSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlciBsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzpiYXNlVVJMOmZvclVucmVhY2hh
YmxlVVJMOl0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgbG9hZERh
dGE6TUlNRVR5cGU6dGV4dEVuY29kaW5nTmFtZTpiYXNlVVJMOnVzZXJEYXRhOl0pOgorICAgICAg
ICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgc3RvcExvYWRpbmddKToKKyAgICAgICAg
KC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHJlbG9hZF0pOgorICAgICAgICAoLVtXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIgcmVsb2FkRnJvbU9yaWdpbl0pOgorICAgICAgICAoLVtX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgZ29Gb3J3YXJkXSk6CisgICAgICAgICgtW1dLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlciBjYW5Hb0ZvcndhcmRdKToKKyAgICAgICAgKC1bV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyIGdvQmFja10pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIgY2FuR29CYWNrXSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlciBhY3RpdmVVUkxdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyIHByb3Zpc2lvbmFsVVJMXSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlciBjb21taXR0ZWRVUkxdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyIHRpdGxlXSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciB0
ZXh0Wm9vbV0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgc2V0VGV4
dFpvb206XSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBwYWdlWm9v
bV0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgc2V0UGFnZVpvb206
XSk6CisgICAgICAgIChzZXRVcFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAoc2V0VXBQYWdl
UG9saWN5Q2xpZW50KToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHNl
dExvYWREZWxlZ2F0ZTpdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
IHNldFBvbGljeURlbGVnYXRlOl0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIgX3BhZ2VSZWZdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
IHNldFBhZ2luYXRpb25Nb2RlOl0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIgcGFnaW5hdGlvbk1vZGVdKToKKyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyIHNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnM6XSk6CisgICAgICAgICgtW1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBwYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zXSk6
CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBzZXRQYWdlTGVuZ3RoOl0p
OgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgcGFnZUxlbmd0aF0pOgor
ICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgc2V0R2FwQmV0d2VlblBhZ2Vz
Ol0pOgorICAgICAgICAoLVtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgZ2FwQmV0d2VlblBh
Z2VzXSk6CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBwYWdlQ291bnRd
KToKKwogMjAxMy0xMS0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFtDVFRFXSBUaGUgV2ViUGFnZVByb3h5J3MgV2ViQmFja0ZvcndhcmRMaXN0IGlzIG5ldmVyIG51
bGwgc28gaXQgc2hvdWxkIGJlIHN0b3JlZCBpbiBhIFJlZgpJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL0NvY29hL1dLTlNVUkxFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29jb2EvV0tOU1VSTEV4dHJhcy5oCShyZXZpc2lvbiAxNTk4OTEpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvV0tOU1VSTEV4dHJhcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNyw4IEBACiAKIEBpbnRlcmZhY2UgTlNVUkwgKFdLRXh0cmFzKQogCi0rIChpbnN0
YW5jZXR5cGUpX3dlYl9VUkxXaXRoV1RGU3RyaW5nOihjb25zdCBXVEY6OlN0cmluZyYpc3RyaW5n
IHJlbGF0aXZlVG9VUkw6KE5TVVJMICopYmFzZVVSTDsKKysgKGluc3RhbmNldHlwZSlfd2ViX1VS
TFdpdGhXVEZTdHJpbmc6KGNvbnN0IFN0cmluZyYpc3RyaW5nIHJlbGF0aXZlVG9VUkw6KE5TVVJM
ICopYmFzZVVSTDsKKworLSAoU3RyaW5nKV93ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmc7CiAK
IEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9XS05TVVJMRXh0cmFzLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9XS05TVVJMRXh0cmFz
Lm1tCShyZXZpc2lvbiAxNTk4OTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvV0tO
U1VSTEV4dHJhcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDMsNCArNDMsMTEgQEAgKyAoaW5zdGFu
Y2V0eXBlKV93ZWJfVVJMV2l0aFdURlN0cmluZzooYwogICAgIHJldHVybiBDRkJyaWRnaW5nUmVs
ZWFzZShjcmVhdGVDRlVSTEZyb21CdWZmZXIoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgp
LCAoQ0ZVUkxSZWYpYmFzZVVSTCkubGVha1JlZigpKTsKIH0KIAorLSAoU3RyaW5nKV93ZWJfb3Jp
Z2luYWxEYXRhQXNXVEZTdHJpbmcKK3sKKyAgICBDU3RyaW5nIG9yaWdpbmFsRGF0YTsKKyAgICBn
ZXRVUkxCeXRlcygoQ0ZVUkxSZWYpc2VsZiwgb3JpZ2luYWxEYXRhKTsKKyAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChvcmlnaW5hbERhdGEpOworfQorCiBAZW5kCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMTU5ODkxKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAx
MiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDI3ICszMSwxOCBAQAogI2ltcG9ydCAiT2JqQ09iamVjdEdy
YXBoLmgiCiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJX
S0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oIgotI2ltcG9ydCAiV0tFcnJvckNGLmgiCiAj
aW1wb3J0ICJXS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLmgiCiAjaW1wb3J0ICJXS0ZyYW1lLmgi
CiAjaW1wb3J0ICJXS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCIKICNpbXBvcnQgIldLTlNBcnJheS5o
IgogI2ltcG9ydCAiV0tOU0Vycm9yLmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCi0jaW1w
b3J0ICJXS1BhZ2VQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1JldGFpblB0ci5oIgotI2ltcG9ydCAi
V0tTdHJpbmdDRi5oIgotI2ltcG9ydCAiV0tVUkxDRi5oIgotI2ltcG9ydCAiV0tVUkxSZXF1ZXN0
LmgiCiAjaW1wb3J0ICJXS1VSTFJlcXVlc3ROUy5oIgotI2ltcG9ydCAiV0tVUkxSZXNwb25zZS5o
IgogI2ltcG9ydCAiV0tVUkxSZXNwb25zZU5TLmgiCiAjaW1wb3J0ICJXZWJDb250ZXh0LmgiCiAj
aW1wb3J0ICJXZWJEYXRhLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPFdl
YkNvcmUvQ0ZVUkxFeHRyYXMuaD4KLSNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgot
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdy
b3VwSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwu
aCIKQEAgLTgzLDE2ICs3NCw2IEBAIHByaXZhdGU6CiAgICAgV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyICptX2NvbnRyb2xsZXI7CiB9OwogCi1zdGF0aWMgaW5saW5lIE5TU3RyaW5nICphdXRv
cmVsZWFzZWQoV0tTdHJpbmdSZWYgc3RyaW5nKQotewotICAgIHJldHVybiBzdHJpbmcgPyBDRkJy
aWRnaW5nUmVsZWFzZShXS1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBh
ZG9wdFdLKHN0cmluZykuZ2V0KCkpKSA6IG5pbDsKLX0KLQotc3RhdGljIGlubGluZSBOU1VSTCAq
YXV0b3JlbGVhc2VkKFdLVVJMUmVmIHVybCkKLXsKLSAgICByZXR1cm4gdXJsID8gQ0ZCcmlkZ2lu
Z1JlbGVhc2UoV0tVUkxDb3B5Q0ZVUkwoa0NGQWxsb2NhdG9yRGVmYXVsdCwgYWRvcHRXSyh1cmwp
LmdldCgpKSkgOiBuaWw7Ci19Ci0KIE5TU3RyaW5nICogY29uc3QgV0tBY3Rpb25Jc01haW5GcmFt
ZUtleSA9IEAiV0tBY3Rpb25Jc01haW5GcmFtZUtleSI7CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0
aW9uTmF2aWdhdGlvblR5cGVLZXkgPSBAIldLQWN0aW9uTmF2aWdhdGlvblR5cGVLZXkiOwogTlNT
dHJpbmcgKiBjb25zdCBXS0FjdGlvbk1vdXNlQnV0dG9uS2V5ID0gQCJXS0FjdGlvbk1vdXNlQnV0
dG9uS2V5IjsKQEAgLTE0NiwxMSArMTI3LDYgQEAgLSAoV0tCcm93c2luZ0NvbnRleHRHcm91cCAq
KWJyb3dzaW5nQ29udAogICAgIHJldHVybiB3cmFwcGVyKCpwYWdlR3JvdXApOwogfQogCi0tIChX
S1BhZ2VSZWYpX3BhZ2VSZWYKLXsKLSAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0KCkpOwotfQot
CiAjcHJhZ21hIG1hcmsgTG9hZGluZwogCiArICh2b2lkKXJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9t
UHJvdG9jb2w6KE5TU3RyaW5nICopc2NoZW1lCkBAIC0xODAsMTMgKzE1NiwxMyBAQCAtICh2b2lk
KWxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1CiAKIC0gKHZvaWQpbG9hZFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiB7Ci0gICAgV0tS
ZXRhaW5QdHI8V0tVUkxSZXF1ZXN0UmVmPiB3a1JlcXVlc3QgPSBhZG9wdFdLKFdLVVJMUmVxdWVz
dENyZWF0ZVdpdGhOU1VSTFJlcXVlc3QocmVxdWVzdCkpOworICAgIFJlZlB0cjxXZWJVUkxSZXF1
ZXN0PiB3a1VSTFJlcXVlc3QgPSBXZWJVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVzdCk7CiAKICAg
ICBSZWZQdHI8T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOwogICAgIGlmICh1c2VyRGF0YSkK
ICAgICAgICAgd2tVc2VyRGF0YSA9IE9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRhKTsK
IAotICAgIFdLUGFnZUxvYWRVUkxSZXF1ZXN0V2l0aFVzZXJEYXRhKHRvQVBJKF9wYWdlLmdldCgp
KSwgd2tSZXF1ZXN0LmdldCgpLCAoV0tUeXBlUmVmKXdrVXNlckRhdGEuZ2V0KCkpOworICAgIF9w
YWdlLT5sb2FkVVJMUmVxdWVzdCh3a1VSTFJlcXVlc3QuZ2V0KCksIHdrVXNlckRhdGEuZ2V0KCkp
OwogfQogCiAtICh2b2lkKWxvYWRGaWxlVVJMOihOU1VSTCAqKVVSTCByZXN0cmljdFRvRmlsZXNX
aXRoaW46KE5TVVJMICopYWxsb3dlZERpcmVjdG9yeQpAQCAtMTk5LDE0ICsxNzUsMTEgQEAgLSAo
dm9pZClsb2FkRmlsZVVSTDooTlNVUkwgKilVUkwgcmVzdHJpYwogICAgIGlmICghW1VSTCBpc0Zp
bGVVUkxdIHx8IChhbGxvd2VkRGlyZWN0b3J5ICYmICFbYWxsb3dlZERpcmVjdG9yeSBpc0ZpbGVV
UkxdKSkKICAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0
aW9uIGZvcm1hdDpAIkF0dGVtcHRlZCB0byBsb2FkIGEgbm9uLWZpbGUgVVJMIl07CiAKLSAgICBX
S1JldGFpblB0cjxXS1VSTFJlZj4gd2tVUkwgPSBhZG9wdFdLKFdLVVJMQ3JlYXRlV2l0aENGVVJM
KChDRlVSTFJlZilVUkwpKTsKLSAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tBbGxvd2VkRGly
ZWN0b3J5ID0gYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhDRlVSTCgoQ0ZVUkxSZWYpYWxsb3dlZERp
cmVjdG9yeSkpOwotICAgIAogICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7
CiAgICAgaWYgKHVzZXJEYXRhKQogICAgICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBo
OjpjcmVhdGUodXNlckRhdGEpOwogCi0gICAgV0tQYWdlTG9hZEZpbGVXaXRoVXNlckRhdGEodG9B
UEkoX3BhZ2UuZ2V0KCkpLCB3a1VSTC5nZXQoKSwgd2tBbGxvd2VkRGlyZWN0b3J5LmdldCgpLCAo
V0tUeXBlUmVmKXdrVXNlckRhdGEuZ2V0KCkpOworICAgIF9wYWdlLT5sb2FkRmlsZShbVVJMIF93
ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmddLCBbYWxsb3dlZERpcmVjdG9yeSBfd2ViX29yaWdp
bmFsRGF0YUFzV1RGU3RyaW5nXSwgd2tVc2VyRGF0YS5nZXQoKSk7CiB9CiAKIC0gKHZvaWQpbG9h
ZEhUTUxTdHJpbmc6KE5TU3RyaW5nICopSFRNTFN0cmluZyBiYXNlVVJMOihOU1VSTCAqKWJhc2VV
UkwKQEAgLTIxNiwzMCArMTg5LDE2IEBAIC0gKHZvaWQpbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5n
ICopSFRNTFMKIAogLSAodm9pZClsb2FkSFRNTFN0cmluZzooTlNTdHJpbmcgKilIVE1MU3RyaW5n
IGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTCB1c2VyRGF0YTooaWQpdXNlckRhdGEKIHsKLSAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gd2tIVE1MU3RyaW5nOwotICAgIGlmIChIVE1MU3RyaW5n
KQotICAgICAgICB3a0hUTUxTdHJpbmcgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aENGU3Ry
aW5nKChDRlN0cmluZ1JlZilIVE1MU3RyaW5nKSk7Ci0KLSAgICBXS1JldGFpblB0cjxXS1VSTFJl
Zj4gd2tCYXNlVVJMOwotICAgIGlmIChiYXNlVVJMKQotICAgICAgICB3a0Jhc2VVUkwgPSBhZG9w
dFdLKFdLVVJMQ3JlYXRlV2l0aENGVVJMKChDRlVSTFJlZiliYXNlVVJMKSk7Ci0KICAgICBSZWZQ
dHI8T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOwogICAgIGlmICh1c2VyRGF0YSkKICAgICAg
ICAgd2tVc2VyRGF0YSA9IE9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRhKTsKIAotICAg
IFdLUGFnZUxvYWRIVE1MU3RyaW5nV2l0aFVzZXJEYXRhKHRvQVBJKF9wYWdlLmdldCgpKSwgd2tI
VE1MU3RyaW5nLmdldCgpLCB3a0Jhc2VVUkwuZ2V0KCksIChXS1R5cGVSZWYpd2tVc2VyRGF0YS5n
ZXQoKSk7CisgICAgX3BhZ2UtPmxvYWRIVE1MU3RyaW5nKEhUTUxTdHJpbmcsIFtiYXNlVVJMIF93
ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmddLCB3a1VzZXJEYXRhLmdldCgpKTsKIH0KIAogLSAo
dm9pZClsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgYmFzZVVSTDoo
TlNVUkwgKiliYXNlVVJMIGZvclVucmVhY2hhYmxlVVJMOihOU1VSTCAqKXVucmVhY2hhYmxlVVJM
CiB7Ci0gICAgQ1N0cmluZyBiYXNlVVJMU3RyaW5nOwotICAgIGdldFVSTEJ5dGVzKChDRlVSTFJl
ZiliYXNlVVJMLCBiYXNlVVJMU3RyaW5nKTsKLQotICAgIENTdHJpbmcgdW5yZWFjaGFibGVVUkxT
dHJpbmc7Ci0gICAgZ2V0VVJMQnl0ZXMoKENGVVJMUmVmKXVucmVhY2hhYmxlVVJMLCB1bnJlYWNo
YWJsZVVSTFN0cmluZyk7Ci0KLSAgICBfcGFnZS0+bG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoc3Ry
aW5nLCBTdHJpbmc6OmZyb21VVEY4KGJhc2VVUkxTdHJpbmcpLCBTdHJpbmc6OmZyb21VVEY4KHVu
cmVhY2hhYmxlVVJMU3RyaW5nKSk7CisgICAgX3BhZ2UtPmxvYWRBbHRlcm5hdGVIVE1MU3RyaW5n
KHN0cmluZywgW2Jhc2VVUkwgX3dlYl9vcmlnaW5hbERhdGFBc1dURlN0cmluZ10sIFt1bnJlYWNo
YWJsZVVSTCBfd2ViX29yaWdpbmFsRGF0YUFzV1RGU3RyaW5nXSk7CiB9CiAKIC0gKHZvaWQpbG9h
ZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4dEVu
Y29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVSTDooTlNVUkwgKiliYXNl
VVJMCkBAIC0yNjAsNjAgKzIxOSw0OCBAQCAtICh2b2lkKWxvYWREYXRhOihOU0RhdGEgKilkYXRh
IE1JTUVUeXBlCiAgICAgICAgIHdrRGF0YSA9IFdlYkRhdGE6OmNyZWF0ZVdpdGhvdXRDb3B5aW5n
KChjb25zdCB1bnNpZ25lZCBjaGFyKilbZGF0YSBieXRlc10sIFtkYXRhIGxlbmd0aF0sIHJlbGVh
c2VOU0RhdGEsIGRhdGEpOwogICAgIH0KIAotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3
a01JTUVUeXBlOwotICAgIGlmIChNSU1FVHlwZSkKLSAgICAgICAgd2tNSU1FVHlwZSA9IGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKENGU3RyaW5nUmVmKU1JTUVUeXBlKSk7Ci0K
LSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gd2tFbmNvZGluZ05hbWU7Ci0gICAgaWYgKGVu
Y29kaW5nTmFtZSkKLSAgICAgICAgd2tFbmNvZGluZ05hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aENGU3RyaW5nKChDRlN0cmluZ1JlZillbmNvZGluZ05hbWUpKTsKLQotICAgIFdLUmV0
YWluUHRyPFdLVVJMUmVmPiB3a0Jhc2VVUkw7Ci0gICAgaWYgKGJhc2VVUkwpCi0gICAgICAgIHdr
QmFzZVVSTCA9IGFkb3B0V0soV0tVUkxDcmVhdGVXaXRoQ0ZVUkwoKENGVVJMUmVmKWJhc2VVUkwp
KTsKLQogICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVz
ZXJEYXRhKQogICAgICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNl
ckRhdGEpOwogCi0gICAgV0tQYWdlTG9hZERhdGFXaXRoVXNlckRhdGEodG9BUEkoX3BhZ2UuZ2V0
KCkpLCB0b0FQSSh3a0RhdGEuZ2V0KCkpLCB3a01JTUVUeXBlLmdldCgpLCB3a0VuY29kaW5nTmFt
ZS5nZXQoKSwgd2tCYXNlVVJMLmdldCgpLCAoV0tUeXBlUmVmKXdrVXNlckRhdGEuZ2V0KCkpOwor
ICAgIF9wYWdlLT5sb2FkRGF0YSh3a0RhdGEuZ2V0KCksIE1JTUVUeXBlLCBlbmNvZGluZ05hbWUs
IFtiYXNlVVJMIF93ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmddLCB3a1VzZXJEYXRhLmdldCgp
KTsKIH0KIAogLSAodm9pZClzdG9wTG9hZGluZwogewotICAgIFdLUGFnZVN0b3BMb2FkaW5nKHRv
QVBJKF9wYWdlLmdldCgpKSk7CisgICAgX3BhZ2UtPnN0b3BMb2FkaW5nKCk7CiB9CiAKIC0gKHZv
aWQpcmVsb2FkCiB7Ci0gICAgV0tQYWdlUmVsb2FkKHRvQVBJKF9wYWdlLmdldCgpKSk7CisgICAg
X3BhZ2UtPnJlbG9hZChmYWxzZSk7CiB9CiAKIC0gKHZvaWQpcmVsb2FkRnJvbU9yaWdpbgogewot
ICAgIFdLUGFnZVJlbG9hZEZyb21PcmlnaW4odG9BUEkoX3BhZ2UuZ2V0KCkpKTsKKyAgICBfcGFn
ZS0+cmVsb2FkKHRydWUpOwogfQogCiAjcHJhZ21hIG1hcmsgQmFjay9Gb3J3YXJkCiAKIC0gKHZv
aWQpZ29Gb3J3YXJkCiB7Ci0gICAgV0tQYWdlR29Gb3J3YXJkKHRvQVBJKF9wYWdlLmdldCgpKSk7
CisgICAgX3BhZ2UtPmdvRm9yd2FyZCgpOwogfQogCiAtIChCT09MKWNhbkdvRm9yd2FyZAogewot
ICAgIHJldHVybiBXS1BhZ2VDYW5Hb0ZvcndhcmQodG9BUEkoX3BhZ2UuZ2V0KCkpKTsKKyAgICBy
ZXR1cm4gX3BhZ2UtPmNhbkdvRm9yd2FyZCgpOwogfQogCiAtICh2b2lkKWdvQmFjawogewotICAg
IFdLUGFnZUdvQmFjayh0b0FQSShfcGFnZS5nZXQoKSkpOworICAgIF9wYWdlLT5nb0JhY2soKTsK
IH0KIAogLSAoQk9PTCljYW5Hb0JhY2sKIHsKLSAgICByZXR1cm4gV0tQYWdlQ2FuR29CYWNrKHRv
QVBJKF9wYWdlLmdldCgpKSk7CisgICAgcmV0dXJuIF9wYWdlLT5jYW5Hb0JhY2soKTsKIH0KIAog
LSAodm9pZClnb1RvQmFja0ZvcndhcmRMaXN0SXRlbTooV0tCYWNrRm9yd2FyZExpc3RJdGVtICop
aXRlbQpAQCAtMzMwLDE3ICsyNzcsMTcgQEAgLSAoV0tCYWNrRm9yd2FyZExpc3QgKiliYWNrRm9y
d2FyZExpc3QKIAogLSAoTlNVUkwgKilhY3RpdmVVUkwKIHsKLSAgICByZXR1cm4gYXV0b3JlbGVh
c2VkKFdLUGFnZUNvcHlBY3RpdmVVUkwodG9BUEkoX3BhZ2UuZ2V0KCkpKSk7CisgICAgcmV0dXJu
IFtOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6X3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5hY3Rp
dmVVUkwoKSByZWxhdGl2ZVRvVVJMOm5pbF07CiB9CiAKIC0gKE5TVVJMICopcHJvdmlzaW9uYWxV
UkwKIHsKLSAgICByZXR1cm4gYXV0b3JlbGVhc2VkKFdLUGFnZUNvcHlQcm92aXNpb25hbFVSTCh0
b0FQSShfcGFnZS5nZXQoKSkpKTsKKyAgICByZXR1cm4gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0
cmluZzpfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLnByb3Zpc2lvbmFsVVJMKCkgcmVsYXRpdmVUb1VS
TDpuaWxdOwogfQogCiAtIChOU1VSTCAqKWNvbW1pdHRlZFVSTAogewotICAgIHJldHVybiBhdXRv
cmVsZWFzZWQoV0tQYWdlQ29weUNvbW1pdHRlZFVSTCh0b0FQSShfcGFnZS5nZXQoKSkpKTsKKyAg
ICByZXR1cm4gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpfcGFnZS0+cGFnZUxvYWRTdGF0
ZSgpLnVybCgpIHJlbGF0aXZlVG9VUkw6bmlsXTsKIH0KIAogLSAoTlNVUkwgKil1bnJlYWNoYWJs
ZVVSTApAQCAtMzU3LDI5ICszMDQsMjkgQEAgLSAoZG91YmxlKWVzdGltYXRlZFByb2dyZXNzCiAK
IC0gKE5TU3RyaW5nICopdGl0bGUKIHsKLSAgICByZXR1cm4gYXV0b3JlbGVhc2VkKFdLUGFnZUNv
cHlUaXRsZSh0b0FQSShfcGFnZS5nZXQoKSkpKTsKKyAgICByZXR1cm4gX3BhZ2UtPnBhZ2VMb2Fk
U3RhdGUoKS50aXRsZSgpOwogfQogCiAjcHJhZ21hIG1hcmsgWm9vbQogCiAtIChDR0Zsb2F0KXRl
eHRab29tCiB7Ci0gICAgcmV0dXJuIFdLUGFnZUdldFRleHRab29tRmFjdG9yKHRvQVBJKF9wYWdl
LmdldCgpKSk7CisgICAgcmV0dXJuIF9wYWdlLT50ZXh0Wm9vbUZhY3RvcigpOwogfQogCiAtICh2
b2lkKXNldFRleHRab29tOihDR0Zsb2F0KXRleHRab29tCiB7Ci0gICAgcmV0dXJuIFdLUGFnZVNl
dFRleHRab29tRmFjdG9yKHRvQVBJKF9wYWdlLmdldCgpKSwgdGV4dFpvb20pOworICAgIF9wYWdl
LT5zZXRUZXh0Wm9vbUZhY3Rvcih0ZXh0Wm9vbSk7CiB9CiAKIC0gKENHRmxvYXQpcGFnZVpvb20K
IHsKLSAgICByZXR1cm4gV0tQYWdlR2V0UGFnZVpvb21GYWN0b3IodG9BUEkoX3BhZ2UuZ2V0KCkp
KTsKKyAgICByZXR1cm4gX3BhZ2UtPnBhZ2Vab29tRmFjdG9yKCk7CiB9CiAKIC0gKHZvaWQpc2V0
UGFnZVpvb206KENHRmxvYXQpcGFnZVpvb20KIHsKLSAgICByZXR1cm4gV0tQYWdlU2V0UGFnZVpv
b21GYWN0b3IodG9BUEkoX3BhZ2UuZ2V0KCkpLCBwYWdlWm9vbSk7CisgICAgX3BhZ2UtPnNldFBh
Z2Vab29tRmFjdG9yKHBhZ2Vab29tKTsKIH0KIAogc3RhdGljIE5TRXJyb3IgKmNyZWF0ZUVycm9y
V2l0aFJlY292ZXJ5QXR0ZW1wdGVyKFdLRXJyb3JSZWYgd2tFcnJvciwgV0tGcmFtZVJlZiBmcmFt
ZSwgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQpCkBAIC00OTIs
NyArNDM5LDcgQEAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KFdLUAogICAg
IFticm93c2luZ0NvbnRleHQubG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJE
aWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Q6YnJvd3NpbmdDb250ZXh0IGFkZGVkSXRlbTphZGRlZCBy
ZW1vdmVkSXRlbXM6cmVtb3ZlZF07CiB9CiAKLXN0YXRpYyB2b2lkIHNldFVwUGFnZUxvYWRlckNs
aWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV0tQYWdl
UmVmIHBhZ2VSZWYpCitzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQsIFdlYlBhZ2VQcm94eSYgcGFnZSkK
IHsKICAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9h
ZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CkBAIC01MTEsNyArNDU4LDcgQEAg
c3RhdGljIHZvaWQgc2V0VXBQYWdlTG9hZGVyQ2xpZW50KFdLQnJvdwogICAgIGxvYWRlckNsaWVu
dC5kaWRGaW5pc2hQcm9ncmVzcyA9IGRpZEZpbmlzaFByb2dyZXNzOwogICAgIGxvYWRlckNsaWVu
dC5kaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QgPSBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Q7CiAK
LSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2VSZWYsICZsb2FkZXJDbGllbnQpOwor
ICAgIHBhZ2UuaW5pdGlhbGl6ZUxvYWRlckNsaWVudCgmbG9hZGVyQ2xpZW50KTsKIH0KIAogc3Rh
dGljIFdLUG9saWN5RGVjaXNpb25IYW5kbGVyIG1ha2VQb2xpY3lEZWNpc2lvbkJsb2NrKFdLRnJh
bWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lcikKQEAgLTUzNyw3ICs0ODQsNyBAQCBzdGF0aWMg
V0tQb2xpY3lEZWNpc2lvbkhhbmRsZXIgbWFrZVBvbGljCiAgICAgfSBjb3B5XSBhdXRvcmVsZWFz
ZV07CiB9CiAKLXN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV0tQYWdlUmVmIHBhZ2VSZWYpCitzdGF0
aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
ICpicm93c2luZ0NvbnRleHQsIFdlYlBhZ2VQcm94eSYgcGFnZSkKIHsKICAgICBXS1BhZ2VQb2xp
Y3lDbGllbnQgcG9saWN5Q2xpZW50OwogICAgIG1lbXNldCgmcG9saWN5Q2xpZW50LCAwLCBzaXpl
b2YocG9saWN5Q2xpZW50KSk7CkBAIC02MDEsNyArNTQ4LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBQ
YWdlUG9saWN5Q2xpZW50KFdLQnJvdwogICAgICAgICAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVy
VXNlKGxpc3RlbmVyKTsKICAgICB9OwogCi0gICAgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChw
YWdlUmVmLCAmcG9saWN5Q2xpZW50KTsKKyAgICBwYWdlLmluaXRpYWxpemVQb2xpY3lDbGllbnQo
JnBvbGljeUNsaWVudCk7CiB9CiAKIC0gKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0
ZT4pbG9hZERlbGVnYXRlCkBAIC02MTMsOSArNTYwLDkgQEAgLSAodm9pZClzZXRMb2FkRGVsZWdh
dGU6KGlkIDxXS0Jyb3dzaW5nQwogewogICAgIF9sb2FkRGVsZWdhdGUgPSBsb2FkRGVsZWdhdGU7
CiAgICAgaWYgKF9sb2FkRGVsZWdhdGUpCi0gICAgICAgIHNldFVwUGFnZUxvYWRlckNsaWVudChz
ZWxmLCB0b0FQSShfcGFnZS5nZXQoKSkpOworICAgICAgICBzZXRVcFBhZ2VMb2FkZXJDbGllbnQo
c2VsZiwgKl9wYWdlKTsKICAgICBlbHNlCi0gICAgICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGll
bnQodG9BUEkoX3BhZ2UuZ2V0KCkpLCBudWxscHRyKTs7CisgICAgICAgIF9wYWdlLT5pbml0aWFs
aXplTG9hZGVyQ2xpZW50KG51bGxwdHIpOwogfQogCiAtIChpZCA8V0tCcm93c2luZ0NvbnRleHRQ
b2xpY3lEZWxlZ2F0ZT4pcG9saWN5RGVsZWdhdGUKQEAgLTYyNyw5ICs1NzQsOSBAQCAtICh2b2lk
KXNldFBvbGljeURlbGVnYXRlOihpZCA8V0tCcm93c2luCiB7CiAgICAgX3BvbGljeURlbGVnYXRl
ID0gcG9saWN5RGVsZWdhdGU7CiAgICAgaWYgKF9wb2xpY3lEZWxlZ2F0ZSkKLSAgICAgICAgc2V0
VXBQYWdlUG9saWN5Q2xpZW50KHNlbGYsIHRvQVBJKF9wYWdlLmdldCgpKSk7CisgICAgICAgIHNl
dFVwUGFnZVBvbGljeUNsaWVudChzZWxmLCAqX3BhZ2UpOwogICAgIGVsc2UKLSAgICAgICAgV0tQ
YWdlU2V0UGFnZVBvbGljeUNsaWVudCh0b0FQSShfcGFnZS5nZXQoKSksIG51bGxwdHIpOzsKKyAg
ICAgICAgX3BhZ2UtPmluaXRpYWxpemVQb2xpY3lDbGllbnQobnVsbHB0cik7CiB9CiAKICsgKE5T
TXV0YWJsZVNldCAqKWN1c3RvbVNjaGVtZXMKQEAgLTY3Miw0NCArNjE5LDQ5IEBAIC0gKEFQSTo6
T2JqZWN0JilfYXBpT2JqZWN0CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIgKFByaXZhdGUpCiAKKy0gKFdLUGFnZVJlZilfcGFnZVJlZgoreworICAgIHJldHVy
biB0b0FQSShfcGFnZS5nZXQoKSk7Cit9CisKIC0gKHZvaWQpc2V0UGFnaW5hdGlvbk1vZGU6KFdL
QnJvd3NpbmdDb250ZXh0UGFnaW5hdGlvbk1vZGUpcGFnaW5hdGlvbk1vZGUKIHsKLSAgICBXS1Bh
Z2luYXRpb25Nb2RlIG1vZGU7CisgICAgUGFnaW5hdGlvbjo6TW9kZSBtb2RlOwogICAgIHN3aXRj
aCAocGFnaW5hdGlvbk1vZGUpIHsKICAgICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRl
ZDoKLSAgICAgICAgbW9kZSA9IGtXS1BhZ2luYXRpb25Nb2RlVW5wYWdpbmF0ZWQ7CisgICAgICAg
IG1vZGUgPSBQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBXS1BhZ2luYXRpb25Nb2RlTGVmdFRvUmlnaHQ6Ci0gICAgICAgIG1vZGUgPSBrV0tQYWdpbmF0
aW9uTW9kZUxlZnRUb1JpZ2h0OworICAgICAgICBtb2RlID0gUGFnaW5hdGlvbjo6TGVmdFRvUmln
aHRQYWdpbmF0ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV0tQYWdpbmF0aW9uTW9kZVJp
Z2h0VG9MZWZ0OgotICAgICAgICBtb2RlID0ga1dLUGFnaW5hdGlvbk1vZGVSaWdodFRvTGVmdDsK
KyAgICAgICAgbW9kZSA9IFBhZ2luYXRpb246OlJpZ2h0VG9MZWZ0UGFnaW5hdGVkOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVUb3BUb0JvdHRvbToKLSAgICAgICAg
bW9kZSA9IGtXS1BhZ2luYXRpb25Nb2RlVG9wVG9Cb3R0b207CisgICAgICAgIG1vZGUgPSBQYWdp
bmF0aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBX
S1BhZ2luYXRpb25Nb2RlQm90dG9tVG9Ub3A6Ci0gICAgICAgIG1vZGUgPSBrV0tQYWdpbmF0aW9u
TW9kZUJvdHRvbVRvVG9wOworICAgICAgICBtb2RlID0gUGFnaW5hdGlvbjo6Qm90dG9tVG9Ub3BQ
YWdpbmF0ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBXS1BhZ2VTZXRQYWdpbmF0aW9uTW9kZSh0b0FQSShfcGFnZS5nZXQoKSks
IG1vZGUpOworICAgIF9wYWdlLT5zZXRQYWdpbmF0aW9uTW9kZShtb2RlKTsKIH0KIAogLSAoV0tC
cm93c2luZ0NvbnRleHRQYWdpbmF0aW9uTW9kZSlwYWdpbmF0aW9uTW9kZQogewotICAgIHN3aXRj
aCAoV0tQYWdlR2V0UGFnaW5hdGlvbk1vZGUodG9BUEkoX3BhZ2UuZ2V0KCkpKSkgewotICAgIGNh
c2Uga1dLUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRlZDoKKyAgICBzd2l0Y2ggKF9wYWdlLT5wYWdp
bmF0aW9uTW9kZSgpKSB7CisgICAgY2FzZSBQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDoKICAgICAg
ICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRlZDsKLSAgICBjYXNlIGtXS1BhZ2lu
YXRpb25Nb2RlTGVmdFRvUmlnaHQ6CisgICAgY2FzZSBQYWdpbmF0aW9uOjpMZWZ0VG9SaWdodFBh
Z2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVMZWZ0VG9SaWdodDsKLSAg
ICBjYXNlIGtXS1BhZ2luYXRpb25Nb2RlUmlnaHRUb0xlZnQ6CisgICAgY2FzZSBQYWdpbmF0aW9u
OjpSaWdodFRvTGVmdFBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVS
aWdodFRvTGVmdDsKLSAgICBjYXNlIGtXS1BhZ2luYXRpb25Nb2RlVG9wVG9Cb3R0b206CisgICAg
Y2FzZSBQYWdpbmF0aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdL
UGFnaW5hdGlvbk1vZGVUb3BUb0JvdHRvbTsKLSAgICBjYXNlIGtXS1BhZ2luYXRpb25Nb2RlQm90
dG9tVG9Ub3A6CisgICAgY2FzZSBQYWdpbmF0aW9uOjpCb3R0b21Ub1RvcFBhZ2luYXRlZDoKICAg
ICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVCb3R0b21Ub1RvcDsKICAgICB9CiAKQEAgLTcx
OSwzNyArNjcxLDM3IEBAIC0gKFdLQnJvd3NpbmdDb250ZXh0UGFnaW5hdGlvbk1vZGUpcGFnaW4K
IAogLSAodm9pZClzZXRQYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zOihCT09MKWJlaGF2ZXNM
aWtlQ29sdW1ucwogewotICAgIFdLUGFnZVNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMo
dG9BUEkoX3BhZ2UuZ2V0KCkpLCBiZWhhdmVzTGlrZUNvbHVtbnMpOworICAgIF9wYWdlLT5zZXRQ
YWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKGJlaGF2ZXNMaWtlQ29sdW1ucyk7CiB9CiAKIC0g
KEJPT0wpcGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucwogewotICAgIHJldHVybiBXS1BhZ2VH
ZXRQYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKHRvQVBJKF9wYWdlLmdldCgpKSk7CisgICAg
cmV0dXJuIF9wYWdlLT5wYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKCk7CiB9CiAKIC0gKHZv
aWQpc2V0UGFnZUxlbmd0aDooQ0dGbG9hdClwYWdlTGVuZ3RoCiB7Ci0gICAgV0tQYWdlU2V0UGFn
ZUxlbmd0aCh0b0FQSShfcGFnZS5nZXQoKSksIHBhZ2VMZW5ndGgpOworICAgIF9wYWdlLT5zZXRQ
YWdlTGVuZ3RoKHBhZ2VMZW5ndGgpOwogfQogCiAtIChDR0Zsb2F0KXBhZ2VMZW5ndGgKIHsKLSAg
ICByZXR1cm4gV0tQYWdlR2V0UGFnZUxlbmd0aCh0b0FQSShfcGFnZS5nZXQoKSkpOworICAgIHJl
dHVybiBfcGFnZS0+cGFnZUxlbmd0aCgpOwogfQogCiAtICh2b2lkKXNldEdhcEJldHdlZW5QYWdl
czooQ0dGbG9hdClnYXBCZXR3ZWVuUGFnZXMKIHsKLSAgICBXS1BhZ2VTZXRHYXBCZXR3ZWVuUGFn
ZXModG9BUEkoX3BhZ2UuZ2V0KCkpLCBnYXBCZXR3ZWVuUGFnZXMpOworICAgIF9wYWdlLT5zZXRH
YXBCZXR3ZWVuUGFnZXMoZ2FwQmV0d2VlblBhZ2VzKTsKIH0KIAogLSAoQ0dGbG9hdClnYXBCZXR3
ZWVuUGFnZXMKIHsKLSAgICByZXR1cm4gV0tQYWdlR2V0R2FwQmV0d2VlblBhZ2VzKHRvQVBJKF9w
YWdlLmdldCgpKSk7CisgICAgcmV0dXJuIF9wYWdlLT5nYXBCZXR3ZWVuUGFnZXMoKTsKIH0KIAog
LSAoTlNVSW50ZWdlcilwYWdlQ291bnQKIHsKLSAgICByZXR1cm4gV0tQYWdlR2V0UGFnZUNvdW50
KHRvQVBJKF9wYWdlLmdldCgpKSk7CisgICAgcmV0dXJuIF9wYWdlLT5wYWdlQ291bnQoKTsKIH0K
IAogLSAoV0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKiloYW5kbGUK
</data>
<flag name="review"
          id="241416"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>