<?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>42770</bug_id>
          
          <creation_ts>2010-07-21 10:44:09 -0700</creation_ts>
          <short_desc>Update plug-in proxy backed &lt;video&gt; and &lt;audio&gt; elements</short_desc>
          <delta_ts>2010-07-21 10:54:34 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>254406</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-07-21 10:44:09 -0700</bug_when>
    <thetext>Update plug-in proxy backed &lt;video&gt; and &lt;audio&gt; elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254411</commentid>
    <comment_count>1</comment_count>
      <attachid>62210</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-07-21 10:45:04 -0700</bug_when>
    <thetext>Created attachment 62210
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254413</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-21 10:47:01 -0700</bug_when>
    <thetext>*** Bug 38596 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254421</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-07-21 10:54:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63844</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62210</attachid>
            <date>2010-07-21 10:45:04 -0700</date>
            <delta_ts>2010-07-21 10:47:39 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch_1.txt</filename>
            <type>text/plain</type>
            <size>22560</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTAtMDctMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIHBsdWctaW4gcHJveHkgYmFja2VkIDx2aWRlbz4gYW5kIDxhdWRpbz4gZWxlbWVu
dHMuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTYzNDY3PgorCisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmF0dHJpYnV0ZUNoYW5nZWQpOiBPbmx5IGNhbGwgbV9wbGF5ZXItPnNldENvbnRyb2xzIHdoZW4K
KyAgICAgICAgdGhlICdjb250cm9scycgYXR0cmlidXRlIGNoYW5nZXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6IAorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6YXR0YWNoKTogSWYgd2UgaGF2ZSBhIHByb3h5IHdpZGdldCwg
Y2FsbCB0aGUgV2ViRnJhbWVMb2FkZXJDbGllbnQncyAKKyAgICAgICAgJ2hpZGUnIGFuZCAnc2hv
dycgbWV0aG9kcyBmb3IgdGhlIG1lZGlhIHByb3h5IHBsdWctaW4gdG8gbWFrZSBzdXJlIHdlIHJl
bW92ZSBhbmQgcmUtYWRkIHRoZSAKKyAgICAgICAgcGx1Zy1pbidzIHZpZXcgdG8gdGhlIGdsb2Jh
bCBsaXN0IG9mIHBsdWdpbiB2aWV3cy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmNyZWF0ZU1lZGlhUGxheWVyUHJveHkpOiBCYWlsIGlmIG1fcHJveHlXaWRnZXQgaXMgbm9u
LU5VTEwKKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmhpZGVNZWRpYVBsYXllclByb3h5UGx1Z2luKTog
RW1wdHkgc3R1YiBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50OjpzaG93TWVkaWFQbGF5ZXJQcm94eVBsdWdpbik6IERpdHRvLgorCisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aDoKKyAgICAgICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OmxvYWRNZWRpYVBsYXllclByb3h5UGx1Z2luKTogQWx3YXlzIHNldCBt
X2NvbnRhaW5zUGx1Z0lucyBpbiBsb2FkTWVkaWFQbGF5ZXJQcm94eVBsdWdpbigpLAorICAgICAg
ICAgZXZlbiB3aGVuIHdlIGRvbid0IGhhdmUgYSByZW5kZXJlci4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpoaWRlTWVkaWFQbGF5ZXJQcm94eVBsdWdpbik6IE5ldywgY2FsbCBoaWRl
TWVkaWFQbGF5ZXJQcm94eVBsdWdpbi4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpz
aG93TWVkaWFQbGF5ZXJQcm94eVBsdWdpbik6IE5ldywgY2FsbCBzaG93TWVkaWFQbGF5ZXJQcm94
eVBsdWdpbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnNldENvbnRyb2xzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRDb250cm9scyk6IE5ldywgcGFzcyB0
aHJvdWdoIHRvIG1lZGlhIGVuZ2luZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpl
bnRlckZ1bGxzY3JlZW4pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpl
eGl0RnVsbHNjcmVlbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6OnNldENv
bnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6
ZW50ZXJGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZTo6ZXhpdEZ1bGxzY3JlZW4pOgorCiAyMDEwLTA3LTIxICBJbHlhIFRpa2hvbm92c2t5
ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gNjM3NzkpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3
OCwxNiArMTc4LDE5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCgK
ICAgICAgICAgaWYgKCFnZXRBdHRyaWJ1dGUoc3JjQXR0cikuaXNFbXB0eSgpKQogICAgICAgICAg
ICAgc2NoZWR1bGVMb2FkKCk7CiAgICAgfQotI2lmICFFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9W
SURFTykKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBjb250cm9sc0F0dHIpIHsKKyNpZiAhRU5B
QkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgICAgIGlmICghaXNWaWRlbygpICYmIGF0
dGFjaGVkKCkgJiYgKGNvbnRyb2xzKCkgIT0gKHJlbmRlcmVyKCkgIT0gMCkpKSB7CiAgICAgICAg
ICAgICBkZXRhY2goKTsKICAgICAgICAgICAgIGF0dGFjaCgpOwogICAgICAgICB9CiAgICAgICAg
IGlmIChyZW5kZXJlcigpKQogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1l
bnQoKTsKLSAgICB9CisjZWxzZQorICAgICAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgICAgICBt
X3BsYXllci0+c2V0Q29udHJvbHMoY29udHJvbHMoKSk7CiAjZW5kaWYKKyAgICB9CiB9CiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRy
KQpAQCAtMjg0LDggKzI4NywxNCBAQCBSZW5kZXJPYmplY3QqIEhUTUxNZWRpYUVsZW1lbnQ6OmNy
ZWF0ZVJlCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgLy8gU2V0dXAg
dGhlIHJlbmRlcmVyIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHByb3h5IHdpZGdldC4KICAgICBSZW5k
ZXJFbWJlZGRlZE9iamVjdCogbWVkaWFSZW5kZXJlciA9IG5ldyAoYXJlbmEpIFJlbmRlckVtYmVk
ZGVkT2JqZWN0KHRoaXMpOwotICAgIGlmIChtX3Byb3h5V2lkZ2V0KQorICAgIGlmIChtX3Byb3h5
V2lkZ2V0KSB7CiAgICAgICAgIG1lZGlhUmVuZGVyZXItPnNldFdpZGdldChtX3Byb3h5V2lkZ2V0
KTsKKworICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpOworICAgICAg
ICBGcmFtZUxvYWRlciogbG9hZGVyID0gZnJhbWUgPyBmcmFtZS0+bG9hZGVyKCkgOiAwOworICAg
ICAgICBpZiAobG9hZGVyKQorICAgICAgICAgICAgbG9hZGVyLT5zaG93TWVkaWFQbGF5ZXJQcm94
eVBsdWdpbihtX3Byb3h5V2lkZ2V0LmdldCgpKTsKKyAgICB9CiAgICAgcmV0dXJuIG1lZGlhUmVu
ZGVyZXI7CiAjZWxzZQogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZWRpYSh0aGlzKTsK
QEAgLTMyMCw2ICszMjksMTQgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjphdHRhY2goKQogCiAg
ICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50
KCk7CisjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCisgICAgZWxzZSBpZiAobV9w
cm94eVdpZGdldCkgeworICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgp
OworICAgICAgICBGcmFtZUxvYWRlciogbG9hZGVyID0gZnJhbWUgPyBmcmFtZS0+bG9hZGVyKCkg
OiAwOworICAgICAgICBpZiAobG9hZGVyKQorICAgICAgICAgICAgbG9hZGVyLT5oaWRlTWVkaWFQ
bGF5ZXJQcm94eVBsdWdpbihtX3Byb3h5V2lkZ2V0LmdldCgpKTsKKyAgICB9CisjZW5kaWYKIH0K
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZWNhbGNTdHlsZShTdHlsZUNoYW5nZSBjaGFuZ2Up
CkBAIC0xOTgyLDkgKzE5OTksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlh
UGxheWVyCiB7CiAgICAgZW5zdXJlTWVkaWFQbGF5ZXIoKTsKIAotICAgIGlmICghaW5Eb2N1bWVu
dCgpICYmIG1fcHJveHlXaWRnZXQpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoaW5Eb2N1bWVu
dCgpICYmICFtX25lZWRXaWRnZXRVcGRhdGUpCisgICAgaWYgKG1fcHJveHlXaWRnZXQgfHwgKGlu
RG9jdW1lbnQoKSAmJiAhbV9uZWVkV2lkZ2V0VXBkYXRlKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKTsKSW5kZXg6IFdlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMDgsNiArMzA4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxXaWRnZXQ+IGNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgSW50U2l6ZSYs
IEhUTUxBcHBsZXRFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jiwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mKSB7IHJldHVybiAwOyB9CiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9YWV9GT1JfVklERU8pCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlTWVk
aWFQbGF5ZXJQcm94eVBsdWdpbihjb25zdCBJbnRTaXplJiwgSFRNTE1lZGlhRWxlbWVudCosIGNv
bnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jiwg
Y29uc3QgU3RyaW5nJikgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBoaWRlTWVkaWFQ
bGF5ZXJQcm94eVBsdWdpbihXaWRnZXQqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2hvd01lZGlh
UGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KikgeyB9CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgT2Jq
ZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmlu
ZyYpIHsgcmV0dXJuIE9iamVjdENvbnRlbnRUeXBlKCk7IH0KSW5kZXg6IFdlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAJKHJldmlzaW9uIDYzNzc5KQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw5IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3Lmgi
CiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1l
bnQuaCIKKyNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyNpbmNsdWRlICJIVE1M
TWVkaWFFbGVtZW50LmgiCisjZW5kaWYKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC05Niwx
MSArOTksNiBAQAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKLSNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCi0jaW5jbHVkZSAiUmVuZGVyVmlkZW8uaCIKLSNl
bmRpZgotCiAjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQogI2luY2x1ZGUgIlNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaCIKICNlbmRpZgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5o
CShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsyMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxUb1N0YXJ0UGx1Z2luKGNvbnN0IFBs
dWdpblZpZXcqKSBjb25zdCB7IH0KICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykK
ICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlTWVkaWFQbGF5ZXJQcm94
eVBsdWdpbihjb25zdCBJbnRTaXplJiwgSFRNTE1lZGlhRWxlbWVudCosIGNvbnN0IEtVUkwmLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5n
JikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgaGlkZU1lZGlhUGxheWVyUHJveHlQbHVnaW4o
V2lkZ2V0KikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd01lZGlhUGxheWVyUHJveHlQ
bHVnaW4oV2lkZ2V0KikgPSAwOwogI2VuZGlmCiAKICAgICAgICAgdmlydHVhbCBPYmplY3RDb250
ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpID0gMDsKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAJKHJldmlzaW9u
IDYzNzc5KQorKysgV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzksMTIgKzE3OSwyMyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gRnJhbWVMb2FkZXI6
OmxvYWRNZWRpCiAKICAgICBpZiAod2lkZ2V0ICYmIHJlbmRlcmVyKSB7CiAgICAgICAgIHJlbmRl
cmVyLT5zZXRXaWRnZXQod2lkZ2V0KTsKLSAgICAgICAgbV9jb250YWluc1BsdWdJbnMgPSB0cnVl
OwogICAgICAgICByZW5kZXJlci0+bm9kZSgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKFN5bnRoZXRp
Y1N0eWxlQ2hhbmdlKTsKICAgICB9CisgICAgbV9jb250YWluc1BsdWdJbnMgPSB0cnVlOwogCiAg
ICAgcmV0dXJuIHdpZGdldCA/IHdpZGdldC5yZWxlYXNlKCkgOiAwOwogfQorCit2b2lkIEZyYW1l
TG9hZGVyOjpoaWRlTWVkaWFQbGF5ZXJQcm94eVBsdWdpbihXaWRnZXQqIHdpZGdldCkKK3sKKyAg
ICBtX2NsaWVudC0+aGlkZU1lZGlhUGxheWVyUHJveHlQbHVnaW4od2lkZ2V0KTsKK30KKwordm9p
ZCBGcmFtZUxvYWRlcjo6c2hvd01lZGlhUGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KiB3aWRnZXQp
Cit7CisgICAgbV9jbGllbnQtPnNob3dNZWRpYVBsYXllclByb3h5UGx1Z2luKHdpZGdldCk7Cit9
CisKICNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKIAogUGFzc1JlZlB0
cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IElu
dFNpemUmIHNpemUsIEhUTUxBcHBsZXRFbGVtZW50KiBlbGVtZW50LCBjb25zdCBIYXNoTWFwPFN0
cmluZywgU3RyaW5nPiYgYXJncykKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDcgQEAgcHVi
bGljOgogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgIHZpcnR1YWwgdm9p
ZCBkZWxpdmVyTm90aWZpY2F0aW9uKE1lZGlhUGxheWVyUHJveHlOb3RpZmljYXRpb25UeXBlKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVkaWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclBy
b3h5KikgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xzKGJvb2wpIHsgfQogI2VuZGlm
CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CkBAIC01NTgsNiArNTU5LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXI6OnNldE1l
ZGlhUGxheWVyUHJveHkoV2UKICAgICBtX3BsYXllclByb3h5ID0gcHJveHk7CiAgICAgbV9wcml2
YXRlLT5zZXRNZWRpYVBsYXllclByb3h5KHByb3h5KTsKIH0KKwordm9pZCBNZWRpYVBsYXllcjo6
c2V0Q29udHJvbHMoYm9vbCBjb250cm9scykKK3sKKyAgICBtX3ByaXZhdGUtPnNldENvbnRyb2xz
KGNvbnRyb2xzKTsKK30gICAgCisKK3ZvaWQgTWVkaWFQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigp
Cit7CisgICAgbV9wcml2YXRlLT5lbnRlckZ1bGxzY3JlZW4oKTsKK30gICAgCisKK3ZvaWQgTWVk
aWFQbGF5ZXI6OmV4aXRGdWxsc2NyZWVuKCkKK3sKKyAgICBtX3ByaXZhdGUtPmV4aXRGdWxsc2Ny
ZWVuKCk7Cit9ICAgIAogI2VuZGlmCiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA2
Mzc3OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUxLDYgKzI1MSw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykKICAgICB2b2lkIGRlbGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQ
cm94eU5vdGlmaWNhdGlvblR5cGUgbm90aWZpY2F0aW9uKTsKICAgICB2b2lkIHNldE1lZGlhUGxh
eWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94eSogcHJveHkpOworICAgIHZvaWQgc2V0Q29udHJv
bHMoYm9vbCk7CisgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKKyAgICB2b2lkIGV4aXRGdWxs
c2NyZWVuKCk7CiAjZW5kaWYKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAko
cmV2aXNpb24gNjM3NzkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDkgQEAgcHVibGljOgogI2lm
IEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgIHZpcnR1YWwgdm9pZCBkZWxpdmVy
Tm90aWZpY2F0aW9uKE1lZGlhUGxheWVyUHJveHlOb3RpZmljYXRpb25UeXBlKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldE1lZGlhUGxheWVyUHJveHkoV2ViTWVkaWFQbGF5ZXJQcm94eSopID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbHMoYm9vbCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIGVudGVyRnVsbHNjcmVlbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBleGl0RnVsbHNjcmVl
bigpIHsgfQogI2VuZGlmCiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4
OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjM4MzEpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMwIEBACisyMDEwLTA3LTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxz
b25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSBwbHVnLWluIHByb3h5IGJhY2tlZCA8dmlkZW8+IGFuZCA8YXVkaW8+IGVs
ZW1lbnRzLgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk2MzQ2Nz4KKworICAgICAgICAqIFBs
dWdpbnMvV2ViUGx1Z2luQ29udHJvbGxlci5oOgorICAgICAgICAqIFBsdWdpbnMvV2ViUGx1Z2lu
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViUGx1Z2luQ29udHJvbGxlciBkZWFsbG9jXSk6
IFJlbGVhc2UgX3ZpZXdzTm90SW5Eb2N1bWVudC4KKyAgICAgICAgKC1bV2ViUGx1Z2luQ29udHJv
bGxlciBzdG9wQWxsUGx1Z2luc10pOiBTdG9wIHBsdWctaW5zIG5vdCBpbiB0aGUgZG9jdW1lbnQu
CisgICAgICAgICgtW1dlYlBsdWdpbkNvbnRyb2xsZXIgcGx1Z2luVmlld0NyZWF0ZWQ6XSk6IE5l
dywgYWRkIGEgVmlldyAocGx1Zy1pbikgdG8gX3ZpZXdzTm90SW5Eb2N1bWVudC4KKyAgICAgICAg
KCtbV2ViUGx1Z2luQ29udHJvbGxlciBwbHVnaW5WaWV3SGlkZGVuOl0pOiBOZXcsIHJlbW92ZSB0
aGUgdmlldyAocGx1Zy1pbikgZnJvbSBwbHVnaW5WaWV3cy4KKyAgICAgICAgKC1bV2ViUGx1Z2lu
Q29udHJvbGxlciBhZGRQbHVnaW46XSk6IFJlbW92ZSB0aGUgbmV3IHBsdWctaW4gZnJvbSBfdmll
d3NOb3RJbkRvY3VtZW50LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQbHVnaW4pOiBSZW1v
dmUgUExVR0lOX1BST1hZX0ZPUl9WSURFTyBjb2RlLCB0aGUgbWVkaWEKKyAgICAgICAgcGxheWVy
IHByb3h5IHBsdWctaW4gc2hvdWxkIG5ldmVyIGJlIGFsbG9jYXRlZCBieSB0aGlzIG1ldGhvZC4K
KyAgICAgICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllclByb3h5UGx1
Z2luKTogTmV3LCBhbGxvY2F0ZSBhIG1lZGlhIHBsYXllciBwcm94eS4KKworICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfdmlkZW9Qcm94eVBsdWdpbkZv
ck1JTUVUeXBlOl0pOiBOZXcuIElkZW50aWNhbCB0byBfcGx1Z2luRm9yTUlNRVR5cGUgZXhjZXB0
IGl0IGRvZXNuJ3QKKyAgICAgICAgY29uc2lkZXIgdGhlIGFyZVBsdWdJbnNFbmFibGVkIHByZWZl
cmVuY2UuCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKworCiAyMDEwLTA3
LTE5ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250
cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRy
b2xsZXIuaAkocmV2aXNpb24gNjM3NzkpCisrKyBXZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2lu
Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw5IEBAIEBpbnRlcmZhY2Ug
V2ViUGx1Z2luQ29udHJvbGxlciA6IE5TT2JqZWMKICAgICBOU011dGFibGVBcnJheSAqX3ZpZXdz
OwogICAgIEJPT0wgX3N0YXJ0ZWQ7CiAgICAgTlNNdXRhYmxlU2V0ICpfY2hlY2tzSW5Qcm9ncmVz
czsKKyNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyAgICBOU011dGFibGVBcnJh
eSAqX3ZpZXdzTm90SW5Eb2N1bWVudDsKKyNlbmRpZgogfQogCiArIChOU1ZpZXcgKilwbHVnSW5W
aWV3V2l0aEFyZ3VtZW50czooTlNEaWN0aW9uYXJ5ICopYXJndW1lbnRzIGZyb21QbHVnaW5QYWNr
YWdlOihXZWJQbHVnaW5QYWNrYWdlICopcGx1Z2luOwpAQCAtNTMsNiArNTYsMTAgQEAgQGludGVy
ZmFjZSBXZWJQbHVnaW5Db250cm9sbGVyIDogTlNPYmplYwogCiAtICh2b2lkKWFkZFBsdWdpbjoo
TlNWaWV3ICopdmlldzsKIC0gKHZvaWQpZGVzdHJveVBsdWdpbjooTlNWaWV3ICopdmlldzsKKyNp
ZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKy0gKHZvaWQpcGx1Z2luVmlld0NyZWF0
ZWQ6KE5TVmlldyAqKXZpZXc7CisrICh2b2lkKXBsdWdpblZpZXdIaWRkZW46KE5TVmlldyAqKXZp
ZXc7CisjZW5kaWYKIAogLSAodm9pZClzdGFydEFsbFBsdWdpbnM7CiAtICh2b2lkKXN0b3BBbGxQ
bHVnaW5zOwpJbmRleDogV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRyb2xsZXIubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRyb2xsZXIubW0J
KHJldmlzaW9uIDYzNzc5KQorKysgV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRyb2xs
ZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsxMzgsOSBAQCAtICh2b2lkKWRlYWxsb2MK
IHsKICAgICBbX3ZpZXdzIHJlbGVhc2VdOwogICAgIFtfY2hlY2tzSW5Qcm9ncmVzcyByZWxlYXNl
XTsKKyNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyAgICBbX3ZpZXdzTm90SW5E
b2N1bWVudCByZWxlYXNlXTsKKyNlbmRpZgogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIApAQCAt
MTk4LDkgKzIwMSwzMCBAQCAtICh2b2lkKXN0b3BBbGxQbHVnaW5zCiAgICAgZm9yIChpID0gMDsg
aSA8IGNvdW50OyBpKyspCiAgICAgICAgIFtzZWxmIHN0b3BPbmVQbHVnaW46W192aWV3cyBvYmpl
Y3RBdEluZGV4OmldXTsKIAorI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQorICAg
IGNvdW50ID0gW192aWV3c05vdEluRG9jdW1lbnQgY291bnRdOworICAgIGZvciAoaSA9IDA7IGkg
PCBjb3VudDsgaSsrKQorICAgICAgICBbc2VsZiBzdG9wT25lUGx1Z2luOltfdmlld3NOb3RJbkRv
Y3VtZW50IG9iamVjdEF0SW5kZXg6aV1dOworI2VuZGlmCisKICAgICBfc3RhcnRlZCA9IE5POwog
fQogCisjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCistICh2b2lkKXBsdWdpblZp
ZXdDcmVhdGVkOihOU1ZpZXcgKil2aWV3Cit7CisgICAgaWYgKCFfdmlld3NOb3RJbkRvY3VtZW50
KQorICAgICAgICBfdmlld3NOb3RJbkRvY3VtZW50PSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBp
bml0XTsKKyAgICBpZiAoIVtfdmlld3NOb3RJbkRvY3VtZW50IGNvbnRhaW5zT2JqZWN0OnZpZXdd
KQorICAgICAgICBbX3ZpZXdzTm90SW5Eb2N1bWVudCBhZGRPYmplY3Q6dmlld107Cit9CisKKysg
KHZvaWQpcGx1Z2luVmlld0hpZGRlbjooTlNWaWV3ICopdmlldworeworICAgIFtwbHVnaW5WaWV3
cyByZW1vdmVPYmplY3Q6dmlld107Cit9CisjZW5kaWYKKwogLSAodm9pZClhZGRQbHVnaW46KE5T
VmlldyAqKXZpZXcKIHsKICAgICBpZiAoIV9kb2N1bWVudFZpZXcpIHsKQEAgLTIxMiw2ICsyMzYs
MTEgQEAgLSAodm9pZClhZGRQbHVnaW46KE5TVmlldyAqKXZpZXcKICAgICAgICAgW192aWV3cyBh
ZGRPYmplY3Q6dmlld107CiAgICAgICAgIFtbX2RvY3VtZW50VmlldyBfd2ViVmlld10gYWRkUGx1
Z2luSW5zdGFuY2VWaWV3OnZpZXddOwogCisjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklE
RU8pCisgICAgICAgIGlmIChbX3ZpZXdzTm90SW5Eb2N1bWVudCBjb250YWluc09iamVjdDp2aWV3
XSkKKyAgICAgICAgICAgIFtfdmlld3NOb3RJbkRvY3VtZW50IHJlbW92ZU9iamVjdDp2aWV3XTsK
KyNlbmRpZgorCiAgICAgICAgIEJPT0wgb2xkRGVmZXJzQ2FsbGJhY2tzID0gW1tzZWxmIHdlYlZp
ZXddIGRlZmVyc0NhbGxiYWNrc107CiAgICAgICAgIGlmICghb2xkRGVmZXJzQ2FsbGJhY2tzKQog
ICAgICAgICAgICAgW1tzZWxmIHdlYlZpZXddIHNldERlZmVyc0NhbGxiYWNrczpZRVNdOwpAQCAt
MjUxLDcgKzI4MCwxMSBAQCAtICh2b2lkKWFkZFBsdWdpbjooTlNWaWV3ICopdmlldwogCiAtICh2
b2lkKWRlc3Ryb3lQbHVnaW46KE5TVmlldyAqKXZpZXcKIHsKKyNpZiBFTkFCTEUoUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykKKyAgICBpZiAoW192aWV3cyBjb250YWluc09iamVjdDp2aWV3XSB8fCBb
X3ZpZXdzTm90SW5Eb2N1bWVudCBjb250YWluc09iamVjdDp2aWV3XSkgeworI2Vsc2UKICAgICBp
ZiAoW192aWV3cyBjb250YWluc09iamVjdDp2aWV3XSkgeworI2VuZGlmCiAgICAgICAgIGlmIChf
c3RhcnRlZCkKICAgICAgICAgICAgIFtzZWxmIHN0b3BPbmVQbHVnaW46dmlld107CiAgICAgICAg
IFtzZWxmIGRlc3Ryb3lPbmVQbHVnaW46dmlld107CkBAIC0yNjQsNiArMjk3LDkgQEAgLSAodm9p
ZClkZXN0cm95UGx1Z2luOihOU1ZpZXcgKil2aWV3CiAgICAgICAgIFtwbHVnaW5WaWV3cyByZW1v
dmVPYmplY3Q6dmlld107CiAgICAgICAgIFtbX2RvY3VtZW50VmlldyBfd2ViVmlld10gcmVtb3Zl
UGx1Z2luSW5zdGFuY2VWaWV3OnZpZXddOwogICAgICAgICBbX3ZpZXdzIHJlbW92ZU9iamVjdDp2
aWV3XTsKKyNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyAgICAgICAgW192aWV3
c05vdEluRG9jdW1lbnQgcmVtb3ZlT2JqZWN0OnZpZXddOworI2VuZGlmCiAgICAgfQogfQogCkBA
IC0zMTAsNiArMzQ2LDEzIEBAIC0gKHZvaWQpZGVzdHJveUFsbFBsdWdpbnMKICAgICAgICAgW3Bs
dWdpblZpZXdzIHJlbW92ZU9iamVjdDphVmlld107CiAgICAgICAgIFtbX2RvY3VtZW50VmlldyBf
d2ViVmlld10gcmVtb3ZlUGx1Z2luSW5zdGFuY2VWaWV3OmFWaWV3XTsKICAgICB9CisKKyNpZiBF
TkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyAgICBjb3VudCA9IFtfdmlld3NOb3RJbkRv
Y3VtZW50IGNvdW50XTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKyAgICAgICAg
W3NlbGYgZGVzdHJveU9uZVBsdWdpbjpbX3ZpZXdzTm90SW5Eb2N1bWVudCBvYmplY3RBdEluZGV4
OmldXTsKKyNlbmRpZgorCiAgICAgW192aWV3cyBtYWtlT2JqZWN0c1BlcmZvcm1TZWxlY3RvcjpA
c2VsZWN0b3IocmVtb3ZlRnJvbVN1cGVydmlld1dpdGhvdXROZWVkaW5nRGlzcGxheSldOwogICAg
IFtfdmlld3MgcmVsZWFzZV07CiAgICAgX3ZpZXdzID0gbmlsOwpJbmRleDogV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAkocmV2aXNpb24gNjM3
NzkpCisrKyBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMSw2ICsyMDEsMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0
IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCosIGNvbnN0IFdl
YkNvcmU6OktVUkwmIGJhc2VVUkwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mIHBhcmFtTmFt
ZXMsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiBwYXJhbVZhbHVlcyk7CiAgICAgCisj
aWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCisgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFdlYkNvcmU6OldpZGdldD4gY3JlYXRlTWVkaWFQbGF5ZXJQcm94eVBsdWdpbihjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6
OktVUkwmLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+Jiwg
Y29uc3QgV2ViQ29yZTo6U3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lkIGhpZGVNZWRpYVBsYXll
clByb3h5UGx1Z2luKFdlYkNvcmU6OldpZGdldCopOworICAgIHZpcnR1YWwgdm9pZCBzaG93TWVk
aWFQbGF5ZXJQcm94eVBsdWdpbihXZWJDb3JlOjpXaWRnZXQqKTsKKyNlbmRpZgorICAgIAogICAg
IHZpcnR1YWwgV2ViQ29yZTo6T2JqZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29u
c3QgV2ViQ29yZTo6S1VSTCYgdXJsLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIG1pbWVUeXBlKTsK
ICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBvdmVycmlkZU1lZGlhVHlwZSgpIGNvbnN0Owog
ICAgIApJbmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tCShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDkg
QEAKICNpbXBvcnQgPFdlYkNvcmUvSFRNTEZyYW1lRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9IVE1MRnJhbWVPd25lckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTEhlYWRFbGVt
ZW50Lmg+CisjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCisjaW1wb3J0IDxXZWJD
b3JlL0hUTUxNZWRpYUVsZW1lbnQuaD4KKyNlbmRpZgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MTmFt
ZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTFBsdWdJbkVsZW1lbnQuaD4KICNpbXBvcnQgPFdl
YkNvcmUvSGlzdG9yeUl0ZW0uaD4KQEAgLTE2MDQsMTIgKzE2MDcsNiBAQCBQYXNzUmVmUHRyPFdp
ZGdldD4gV2ViRnJhbWVMb2FkZXJDbGllbnQ6CiAgICAgfQogICAgIAogICAgIE5TU3RyaW5nICpl
eHRlbnNpb24gPSBbW3BsdWdpblVSTCBwYXRoXSBwYXRoRXh0ZW5zaW9uXTsKLSNpZiBFTkFCTEUo
UExVR0lOX1BST1hZX0ZPUl9WSURFTykKLSAgICAvLyBkb24ndCBhbGxvdyBwcm94eSBwbHVnLWlu
IHNlbGVjdGlvbiBieSBmaWxlIGV4dGVuc2lvbgotICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1l
KHZpZGVvVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkKLSAgICAgICAgZXh0
ZW5zaW9uID0gQCIiOwotI2VuZGlmCi0KICAgICBpZiAoIXBsdWdpblBhY2thZ2UgJiYgW2V4dGVu
c2lvbiBsZW5ndGhdICE9IDApIHsKICAgICAgICAgcGx1Z2luUGFja2FnZSA9IFt3ZWJWaWV3IF9w
bHVnaW5Gb3JFeHRlbnNpb246ZXh0ZW5zaW9uXTsKICAgICAgICAgaWYgKHBsdWdpblBhY2thZ2Up
IHsKQEAgLTE3NjQsNiArMTc2MSw4MyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6CiAjZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJREdFKQogfQogCisjaWYgRU5BQkxF
KFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCitQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmNyZWF0ZU1lZGlhUGxheWVyUHJveHlQbHVnaW4oY29uc3QgSW50U2l6ZSYgc2l6
ZSwgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCwgY29uc3QgS1VSTCYgdXJsLAorICAgIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBwYXJhbU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1W
YWx1ZXMsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworCisgICAgQVNTRVJUKHBhcmFtTmFtZXMuc2l6ZSgpID09IHBhcmFtVmFsdWVz
LnNpemUoKSk7CisgICAgQVNTRVJUKG1pbWVUeXBlKTsKKworICAgIGludCBlcnJvckNvZGUgPSAw
OworICAgIFdlYlZpZXcgKndlYlZpZXcgPSBnZXRXZWJWaWV3KG1fd2ViRnJhbWUuZ2V0KCkpOwor
ICAgIE5TVVJMICpVUkwgPSB1cmw7CisKKyAgICBTRUwgc2VsZWN0b3IgPSBAc2VsZWN0b3Iod2Vi
VmlldzpwbHVnSW5WaWV3V2l0aEFyZ3VtZW50czopOworCisgICAgaWYgKFtbd2ViVmlldyBVSURl
bGVnYXRlXSByZXNwb25kc1RvU2VsZWN0b3I6c2VsZWN0b3JdKSB7CisgICAgICAgIE5TTXV0YWJs
ZURpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGlu
aXRXaXRoT2JqZWN0czpraXQocGFyYW1WYWx1ZXMpIGZvcktleXM6a2l0KHBhcmFtTmFtZXMpXTsK
KyAgICAgICAgTlNEaWN0aW9uYXJ5ICphcmd1bWVudHMgPSBbW05TRGljdGlvbmFyeSBhbGxvY10g
aW5pdFdpdGhPYmplY3RzQW5kS2V5czoKKyAgICAgICAgICAgIGF0dHJpYnV0ZXMsIFdlYlBsdWdJ
bkF0dHJpYnV0ZXNLZXksCisgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpXZWJQ
bHVnSW5Nb2RlRW1iZWRdLCBXZWJQbHVnSW5Nb2RlS2V5LAorICAgICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sIFdlYlBsdWdJblNob3VsZExvYWRNYWluUmVzb3VyY2VLZXks
CisgICAgICAgICAgICBraXQoZWxlbWVudCksIFdlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5
LAorICAgICAgICAgICAgVVJMLCBXZWJQbHVnSW5CYXNlVVJMS2V5LCAvLyBVUkwgbWlnaHQgYmUg
bmlsLCBzbyBhZGQgaXQgbGFzdAorICAgICAgICAgICAgbmlsXTsKKworICAgICAgICBOU1ZpZXcg
KnZpZXcgPSBDYWxsVUlEZWxlZ2F0ZSh3ZWJWaWV3LCBzZWxlY3RvciwgYXJndW1lbnRzKTsKKwor
ICAgICAgICBbYXR0cmlidXRlcyByZWxlYXNlXTsKKyAgICAgICAgW2FyZ3VtZW50cyByZWxlYXNl
XTsKKworICAgICAgICBpZiAodmlldykKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
UGx1Z2luV2lkZ2V0KHZpZXcpKTsKKyAgICB9CisKKyAgICBXZWJCYXNlUGx1Z2luUGFja2FnZSAq
cGx1Z2luUGFja2FnZSA9IFt3ZWJWaWV3IF92aWRlb1Byb3h5UGx1Z2luRm9yTUlNRVR5cGU6bWlt
ZVR5cGVdOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvcmUobV93ZWJGcmFtZS5nZXQoKSkt
PmRvY3VtZW50KCk7CisgICAgTlNVUkwgKmJhc2VVUkwgPSBkb2N1bWVudC0+YmFzZVVSTCgpOwor
ICAgIE5TVmlldyAqdmlldyA9IG5pbDsKKworICAgIGlmIChwbHVnaW5QYWNrYWdlKSB7CisgICAg
ICAgIGlmIChbcGx1Z2luUGFja2FnZSBpc0tpbmRPZkNsYXNzOltXZWJQbHVnaW5QYWNrYWdlIGNs
YXNzXV0pCisgICAgICAgICAgICB2aWV3ID0gcGx1Z2luVmlldyhtX3dlYkZyYW1lLmdldCgpLCAo
V2ViUGx1Z2luUGFja2FnZSAqKXBsdWdpblBhY2thZ2UsIGtpdChwYXJhbU5hbWVzKSwga2l0KHBh
cmFtVmFsdWVzKSwgYmFzZVVSTCwga2l0KGVsZW1lbnQpLCBmYWxzZSk7CisgICAgfSBlbHNlCisg
ICAgICAgIGVycm9yQ29kZSA9IFdlYktpdEVycm9yQ2Fubm90RmluZFBsdWdJbjsKKworICAgIGlm
ICghZXJyb3JDb2RlICYmICF2aWV3KQorICAgICAgICBlcnJvckNvZGUgPSBXZWJLaXRFcnJvckNh
bm5vdExvYWRQbHVnSW47CisKKyAgICBpZiAoZXJyb3JDb2RlKSB7CisgICAgICAgIE5TRXJyb3Ig
KmVycm9yID0gW1tOU0Vycm9yIGFsbG9jXSBfaW5pdFdpdGhQbHVnaW5FcnJvckNvZGU6ZXJyb3JD
b2RlCisgICAgICAgICAgICBjb250ZW50VVJMOlVSTCBwbHVnaW5QYWdlVVJMOm5pbCBwbHVnaW5O
YW1lOltwbHVnaW5QYWNrYWdlIG5hbWVdIE1JTUVUeXBlOm1pbWVUeXBlXTsKKyAgICAgICAgV2Vi
TnVsbFBsdWdpblZpZXcgKm51bGxWaWV3ID0gW1tbV2ViTnVsbFBsdWdpblZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkp
CisgICAgICAgICAgICBlcnJvcjplcnJvciBET01FbGVtZW50OmtpdChlbGVtZW50KV0gYXV0b3Jl
bGVhc2VdOworICAgICAgICB2aWV3ID0gbnVsbFZpZXc7CisgICAgICAgIFtlcnJvciByZWxlYXNl
XTsKKyAgICB9CisgICAgCisgICAgQVNTRVJUKHZpZXcpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgUGx1Z2luV2lkZ2V0KHZpZXcpKTsKKworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
CisKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6aGlkZU1l
ZGlhUGxheWVyUHJveHlQbHVnaW4oV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgW1dlYlBsdWdpbkNv
bnRyb2xsZXIgcGx1Z2luVmlld0hpZGRlbjp3aWRnZXQtPnBsYXRmb3JtV2lkZ2V0KCldOworfQor
Cit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzaG93TWVkaWFQbGF5ZXJQcm94eVBsdWdpbihX
aWRnZXQqIHdpZGdldCkKK3sKKyAgICBbV2ViUGx1Z2luQ29udHJvbGxlciBhZGRQbHVnSW5WaWV3
OndpZGdldC0+cGxhdGZvcm1XaWRnZXQoKV07Cit9CisKKyNlbmRpZiAgLy8gRU5BQkxFKFBMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pCisKIFN0cmluZyBXZWJGcmFtZUxvYWRlckNsaWVudDo6b3ZlcnJp
ZGVNZWRpYVR5cGUoKSBjb25zdAogewogICAgIE5TU3RyaW5nKiBvdmVycmlkZVR5cGUgPSBbZ2V0
V2ViVmlldyhtX3dlYkZyYW1lLmdldCgpKSBtZWRpYVN0eWxlXTsKSW5kZXg6IFdlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjIxLDYgKzI2MjEsMjAgQEAgLSAoV2ViQmFzZVBsdWdpblBh
Y2thZ2UgKilfcGx1Z2luRm9yTUlNRQogICAgIHJldHVybiBuaWw7CiB9CiAKKyNpZiBFTkFCTEUo
UExVR0lOX1BST1hZX0ZPUl9WSURFTykKKy0gKFdlYkJhc2VQbHVnaW5QYWNrYWdlICopX3ZpZGVv
UHJveHlQbHVnaW5Gb3JNSU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlwZQoreworICAgIFdlYkJh
c2VQbHVnaW5QYWNrYWdlICpwbHVnaW5QYWNrYWdlID0gW1tXZWJQbHVnaW5EYXRhYmFzZSBzaGFy
ZWREYXRhYmFzZV0gcGx1Z2luRm9yTUlNRVR5cGU6TUlNRVR5cGVdOworICAgIGlmIChwbHVnaW5Q
YWNrYWdlKQorICAgICAgICByZXR1cm4gcGx1Z2luUGFja2FnZTsKKworICAgIGlmIChfcHJpdmF0
ZS0+cGx1Z2luRGF0YWJhc2UpCisgICAgICAgIHJldHVybiBbX3ByaXZhdGUtPnBsdWdpbkRhdGFi
YXNlIHBsdWdpbkZvck1JTUVUeXBlOk1JTUVUeXBlXTsKKworICAgIHJldHVybiBuaWw7Cit9Cisj
ZW5kaWYKKwogLSAoV2ViQmFzZVBsdWdpblBhY2thZ2UgKilfcGx1Z2luRm9yRXh0ZW5zaW9uOihO
U1N0cmluZyAqKWV4dGVuc2lvbgogewogICAgIGlmICghW19wcml2YXRlLT5wcmVmZXJlbmNlcyBh
cmVQbHVnSW5zRW5hYmxlZF0pCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVy
bmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5o
CShyZXZpc2lvbiA2Mzc3OSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ3LDYgKzE0Nyw5IEBAIEBpbnRlcmZhY2UgV2ViVmlldyAo
V2ViVmlld090aGVySW50ZXJuYWwKIC0gKHZvaWQpX2RpZENoYW5nZVZhbHVlRm9yS2V5OihOU1N0
cmluZyAqKWtleTsKIC0gKFdlYkJhc2VQbHVnaW5QYWNrYWdlICopX3BsdWdpbkZvck1JTUVUeXBl
OihOU1N0cmluZyAqKU1JTUVUeXBlOwogLSAoV2ViQmFzZVBsdWdpblBhY2thZ2UgKilfcGx1Z2lu
Rm9yRXh0ZW5zaW9uOihOU1N0cmluZyAqKWV4dGVuc2lvbjsKKyNpZiBFTkFCTEUoUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykKKy0gKFdlYkJhc2VQbHVnaW5QYWNrYWdlICopX3ZpZGVvUHJveHlQbHVn
aW5Gb3JNSU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlwZTsKKyNlbmRpZgogCiAtICh2b2lkKXNl
dEN1cnJlbnROb2RlSGlnaGxpZ2h0OihXZWJOb2RlSGlnaGxpZ2h0ICopbm9kZUhpZ2hsaWdodDsK
IC0gKFdlYk5vZGVIaWdobGlnaHQgKiljdXJyZW50Tm9kZUhpZ2hsaWdodDsK
</data>
<flag name="review"
          id="50350"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>