<?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>184416</bug_id>
          
          <creation_ts>2018-04-09 06:17:29 -0700</creation_ts>
          <short_desc>Make ImageFrame non-copyable</short_desc>
          <delta_ts>2018-04-11 09:23:38 -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>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>184418</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>sabouhallawa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1412856</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-04-09 06:17:29 -0700</bug_when>
    <thetext>ImageFrame is a non-trivial type. This simplified the code as they no longer need to be copyable. It also makes future improvements simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412857</commentid>
    <comment_count>1</comment_count>
      <attachid>337493</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-04-09 06:27:22 -0700</bug_when>
    <thetext>Created attachment 337493
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413701</commentid>
    <comment_count>2</comment_count>
      <attachid>337706</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-04-11 09:08:42 -0700</bug_when>
    <thetext>Created attachment 337706
patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337493</attachid>
            <date>2018-04-09 06:27:22 -0700</date>
            <delta_ts>2018-04-11 09:08:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>imageframe-unique-1.patch</filename>
            <type>text/plain</type>
            <size>9046</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMDQyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE4LTA0LTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIEltYWdlRnJhbWVzIG93
bmVkIGJ5IHVuaXF1ZV9wdHJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQ0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbWFnZUZyYW1lIGlzIGEgbm9uLXRyaXZpYWwgdHlwZS4gVGhpcyBzaW1wbGlm
aWVkIHRoZSBjb2RlIGFzIHRoZXkgbm8gbG9uZ2VyIG5lZWQgdG8gYmUgY29weWFibGUuCisgICAg
ICAgIEl0IGFsc28gbWFrZXMgZnV0dXJlIGltcHJvdmVtZW50cyBzaW1wbGVyLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUZyYW1lOjpvcGVyYXRvcj0pOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRnJhbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRnJhbWU6OkltYWdlRnJh
bWUpOiBEZWxldGVkLgorCisgICAgICAgIENvcHkgY29uc3RydWN0b3IgYW5kIG9wZXJhdG9yIGFy
ZSBubyBsb25nZXIgbmVlZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OkltYWdlU291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpkZXN0cm95RGVjb2RlZERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmRlc3Ryb3lJbmNvbXBsZXRlRGVjb2RlZERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6Omdyb3dGcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VTb3VyY2U6OnNldE5hdGl2ZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlU291cmNlOjpjYWNoZU1ldGFkYXRhQXRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZVNvdXJjZTo6Y2FjaGVOYXRpdmVJbWFnZUF0SW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VTb3VyY2U6OnN0b3BBc3luY0RlY29kaW5nUXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VTb3VyY2U6OmZyYW1lQXRJbmRleENhY2hlSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VTb3VyY2U6OmZyYW1lTWV0YWRhdGFBdEluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oOgorCiAyMDE4LTA0LTA5ICBNaWNoYWVsIENhdGFuemFy
byAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBXYXlsYW5kQ29tcG9z
aXRvckRpc3BsYXkgbGVha3MgaXRzIHdsX2Rpc3BsYXkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWUuY3BwCShyZXZpc2lvbiAyMzAzNzQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsMzIgKzQ1LDYgQEAgY29uc3QgSW1hZ2VGcmFtZSYgSW1hZ2VGcmFtZTo6
ZGVmYXVsdEZyYQogICAgIHJldHVybiBzaGFyZWRJbnN0YW5jZTsKIH0KIAotSW1hZ2VGcmFtZSYg
SW1hZ2VGcmFtZTo6b3BlcmF0b3I9KGNvbnN0IEltYWdlRnJhbWUmIG90aGVyKQotewotICAgIGlm
ICh0aGlzID09ICZvdGhlcikKLSAgICAgICAgcmV0dXJuICp0aGlzOwotCi0gICAgbV9kZWNvZGlu
Z1N0YXR1cyA9IG90aGVyLm1fZGVjb2RpbmdTdGF0dXM7Ci0gICAgbV9zaXplID0gb3RoZXIubV9z
aXplOwotCi0jaWYgIVVTRShDRykKLSAgICBpZiAob3RoZXIuYmFja2luZ1N0b3JlKCkpCi0gICAg
ICAgIGluaXRpYWxpemUoKm90aGVyLmJhY2tpbmdTdG9yZSgpKTsKLSAgICBlbHNlCi0gICAgICAg
IG1fYmFja2luZ1N0b3JlID0gbnVsbHB0cjsKLSAgICBtX2Rpc3Bvc2FsTWV0aG9kID0gb3RoZXIu
bV9kaXNwb3NhbE1ldGhvZDsKLSNlbmRpZgotCi0gICAgbV9uYXRpdmVJbWFnZSA9IG90aGVyLm1f
bmF0aXZlSW1hZ2U7Ci0gICAgbV9zdWJzYW1wbGluZ0xldmVsID0gb3RoZXIubV9zdWJzYW1wbGlu
Z0xldmVsOwotICAgIG1fZGVjb2RpbmdPcHRpb25zID0gb3RoZXIubV9kZWNvZGluZ09wdGlvbnM7
Ci0KLSAgICBtX29yaWVudGF0aW9uID0gb3RoZXIubV9vcmllbnRhdGlvbjsKLSAgICBtX2R1cmF0
aW9uID0gb3RoZXIubV9kdXJhdGlvbjsKLSAgICBtX2hhc0FscGhhID0gb3RoZXIubV9oYXNBbHBo
YTsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KIHZvaWQgSW1hZ2VGcmFtZTo6c2V0RGVjb2RpbmdT
dGF0dXMoRGVjb2RpbmdTdGF0dXMgZGVjb2RpbmdTdGF0dXMpCiB7CiAgICAgQVNTRVJUKGRlY29k
aW5nU3RhdHVzICE9IERlY29kaW5nU3RhdHVzOjpEZWNvZGluZyk7CkBAIC0xMTAsMTUgKzg0LDYg
QEAgdW5zaWduZWQgSW1hZ2VGcmFtZTo6Y2xlYXIoKQogfQogCiAjaWYgIVVTRShDRykKLWJvb2wg
SW1hZ2VGcmFtZTo6aW5pdGlhbGl6ZShjb25zdCBJbWFnZUJhY2tpbmdTdG9yZSYgYmFja2luZ1N0
b3JlKQotewotICAgIGlmICgmYmFja2luZ1N0b3JlID09IHRoaXMtPmJhY2tpbmdTdG9yZSgpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fYmFja2luZ1N0b3JlID0gSW1hZ2VCYWNraW5n
U3RvcmU6OmNyZWF0ZShiYWNraW5nU3RvcmUpOwotICAgIHJldHVybiBtX2JhY2tpbmdTdG9yZSAh
PSBudWxscHRyOwotfQotCiBib29sIEltYWdlRnJhbWU6OmluaXRpYWxpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgYm9vbCBwcmVtdWx0aXBseUFscGhhKQogewogICAgIGlmIChzaXplLmlzRW1wdHko
KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1l
LmgJKHJldmlzaW9uIDIzMDM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjQgKzM3LDIyIEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEltYWdlRnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworCiAgICAgZnJpZW5kIGNsYXNzIEltYWdlU291cmNlOwogcHVibGljOgogICAgIGVu
dW0gY2xhc3MgQ2FjaGluZyB7IE1ldGFkYXRhLCBNZXRhZGF0YUFuZEltYWdlIH07CiAKICAgICBJ
bWFnZUZyYW1lKCk7Ci0gICAgSW1hZ2VGcmFtZShjb25zdCBJbWFnZUZyYW1lJiBvdGhlcikgeyBv
cGVyYXRvcj0ob3RoZXIpOyB9CiAKICAgICB+SW1hZ2VGcmFtZSgpOwogCiAgICAgc3RhdGljIGNv
bnN0IEltYWdlRnJhbWUmIGRlZmF1bHRGcmFtZSgpOwogCi0gICAgSW1hZ2VGcmFtZSYgb3BlcmF0
b3I9KGNvbnN0IEltYWdlRnJhbWUmIG90aGVyKTsKLQogICAgIHVuc2lnbmVkIGNsZWFySW1hZ2Uo
KTsKICAgICB1bnNpZ25lZCBjbGVhcigpOwogCiAjaWYgIVVTRShDRykKLSAgICBib29sIGluaXRp
YWxpemUoY29uc3QgSW1hZ2VCYWNraW5nU3RvcmUmKTsKICAgICBib29sIGluaXRpYWxpemUoY29u
c3QgSW50U2l6ZSYsIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSk7CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcAkocmV2
aXNpb24gMjMwMzc0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMSArNTMsMTEgQEAgSW1hZ2VTb3VyY2U6
OkltYWdlU291cmNlKE5hdGl2ZUltYWdlUHRyJgogCiAgICAgc2V0TmF0aXZlSW1hZ2UoV1RGTW92
ZShuYXRpdmVJbWFnZSkpOwogCi0gICAgbV9kZWNvZGVkU2l6ZSA9IG1fZnJhbWVzWzBdLmZyYW1l
Qnl0ZXMoKTsKKyAgICBtX2RlY29kZWRTaXplID0gbV9mcmFtZXNbMF0tPmZyYW1lQnl0ZXMoKTsK
IAogICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoZSBtZW1vcnkgaW1hZ2Ugd2lsbCBiZSBkaXNw
bGF5ZWQgd2l0aCB0aGUgZGVmYXVsdAogICAgIC8vIG9yaWVudGF0aW9uLiBTbyBzZXQgbV9zaXpl
UmVzcGVjdGluZ09yaWVudGF0aW9uIHRvIGJlIHRoZSBzYW1lIGFzIG1fc2l6ZS4KLSAgICBtX3Np
emUgPSBtX2ZyYW1lc1swXS5zaXplKCk7CisgICAgbV9zaXplID0gbV9mcmFtZXNbMF0tPnNpemUo
KTsKICAgICBtX3NpemVSZXNwZWN0aW5nT3JpZW50YXRpb24gPSBtX3NpemU7CiB9CiAKQEAgLTEy
Myw3ICsxMjMsNyBAQCB2b2lkIEltYWdlU291cmNlOjpkZXN0cm95RGVjb2RlZERhdGEoc2l6CiAg
ICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGZyYW1lQ291bnQ7ICsraW5kZXgpIHsK
ICAgICAgICAgaWYgKGluZGV4ID09IGV4Y2x1ZGVGcmFtZSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICBkZWNvZGVkU2l6ZSArPSBtX2ZyYW1lc1tpbmRleF0uY2xlYXJJbWFnZSgpOwor
ICAgICAgICBkZWNvZGVkU2l6ZSArPSBtX2ZyYW1lc1tpbmRleF0tPmNsZWFySW1hZ2UoKTsKICAg
ICB9CiAKICAgICBkZWNvZGVkU2l6ZVJlc2V0KGRlY29kZWRTaXplKTsKQEAgLTEzNCwxMCArMTM0
LDEwIEBAIHZvaWQgSW1hZ2VTb3VyY2U6OmRlc3Ryb3lJbmNvbXBsZXRlRGVjb2QKICAgICB1bnNp
Z25lZCBkZWNvZGVkU2l6ZSA9IDA7CiAKICAgICBmb3IgKGF1dG8mIGZyYW1lIDogbV9mcmFtZXMp
IHsKLSAgICAgICAgaWYgKCFmcmFtZS5oYXNNZXRhZGF0YSgpIHx8IGZyYW1lLmlzQ29tcGxldGUo
KSkKKyAgICAgICAgaWYgKCFmcmFtZS0+aGFzTWV0YWRhdGEoKSB8fCBmcmFtZS0+aXNDb21wbGV0
ZSgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZGVjb2RlZFNpemUgKz0gZnJh
bWUuY2xlYXIoKTsKKyAgICAgICAgZGVjb2RlZFNpemUgKz0gZnJhbWUtPmNsZWFyKCk7CiAgICAg
fQogCiAgICAgZGVjb2RlZFNpemVEZWNyZWFzZWQoZGVjb2RlZFNpemUpOwpAQCAtMjA4LDE0ICsy
MDgsMTggQEAgdm9pZCBJbWFnZVNvdXJjZTo6Z3Jvd0ZyYW1lcygpCiB7CiAgICAgQVNTRVJUKGlz
U2l6ZUF2YWlsYWJsZSgpKTsKICAgICBhdXRvIG5ld1NpemUgPSBmcmFtZUNvdW50KCk7Ci0gICAg
aWYgKG5ld1NpemUgPiBtX2ZyYW1lcy5zaXplKCkpCisgICAgYXV0byBvbGRTaXplID0gbV9mcmFt
ZXMuc2l6ZSgpOworICAgIGlmIChuZXdTaXplID4gb2xkU2l6ZSkgewogICAgICAgICBtX2ZyYW1l
cy5ncm93KG5ld1NpemUpOworICAgICAgICBmb3IgKGF1dG8gaSA9IG9sZFNpemU7IGkgPCBuZXdT
aXplOyArK2kpCisgICAgICAgICAgICBtX2ZyYW1lc1tpXSA9IHN0ZDo6bWFrZV91bmlxdWU8SW1h
Z2VGcmFtZT4oKTsKKyAgICB9CiB9CiAKIHZvaWQgSW1hZ2VTb3VyY2U6OnNldE5hdGl2ZUltYWdl
KE5hdGl2ZUltYWdlUHRyJiYgbmF0aXZlSW1hZ2UpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWVzLnNp
emUoKSA9PSAxKTsKLSAgICBJbWFnZUZyYW1lJiBmcmFtZSA9IG1fZnJhbWVzWzBdOworICAgIElt
YWdlRnJhbWUmIGZyYW1lID0gKm1fZnJhbWVzWzBdOwogCiAgICAgQVNTRVJUKCFpc0RlY29kZXJB
dmFpbGFibGUoKSk7CiAKQEAgLTIyOSw3ICsyMzMsNyBAQCB2b2lkIEltYWdlU291cmNlOjpzZXRO
YXRpdmVJbWFnZShOYXRpdmVJCiB2b2lkIEltYWdlU291cmNlOjpjYWNoZU1ldGFkYXRhQXRJbmRl
eChzaXplX3QgaW5kZXgsIFN1YnNhbXBsaW5nTGV2ZWwgc3Vic2FtcGxpbmdMZXZlbCwgRGVjb2Rp
bmdTdGF0dXMgZGVjb2RpbmdTdGF0dXMpCiB7CiAgICAgQVNTRVJUKGluZGV4IDwgbV9mcmFtZXMu
c2l6ZSgpKTsKLSAgICBJbWFnZUZyYW1lJiBmcmFtZSA9IG1fZnJhbWVzW2luZGV4XTsKKyAgICBJ
bWFnZUZyYW1lJiBmcmFtZSA9ICptX2ZyYW1lc1tpbmRleF07CiAKICAgICBBU1NFUlQoaXNEZWNv
ZGVyQXZhaWxhYmxlKCkpOwogICAgIGlmIChkZWNvZGluZ1N0YXR1cyA9PSBEZWNvZGluZ1N0YXR1
czo6SW52YWxpZCkKQEAgLTI1OCw3ICsyNjIsNyBAQCB2b2lkIEltYWdlU291cmNlOjpjYWNoZU1l
dGFkYXRhQXRJbmRleChzCiB2b2lkIEltYWdlU291cmNlOjpjYWNoZU5hdGl2ZUltYWdlQXRJbmRl
eChOYXRpdmVJbWFnZVB0ciYmIG5hdGl2ZUltYWdlLCBzaXplX3QgaW5kZXgsIFN1YnNhbXBsaW5n
TGV2ZWwgc3Vic2FtcGxpbmdMZXZlbCwgY29uc3QgRGVjb2RpbmdPcHRpb25zJiBkZWNvZGluZ09w
dGlvbnMsIERlY29kaW5nU3RhdHVzIGRlY29kaW5nU3RhdHVzKQogewogICAgIEFTU0VSVChpbmRl
eCA8IG1fZnJhbWVzLnNpemUoKSk7Ci0gICAgSW1hZ2VGcmFtZSYgZnJhbWUgPSBtX2ZyYW1lc1tp
bmRleF07CisgICAgSW1hZ2VGcmFtZSYgZnJhbWUgPSAqbV9mcmFtZXNbaW5kZXhdOwogCiAgICAg
Ly8gQ2xlYXIgdGhlIGN1cnJlbnQgaW1hZ2UgZnJhbWUgYW5kIHVwZGF0ZSB0aGUgb2JzZXJ2ZXIg
d2l0aCB0aGlzIGNsZWFyYW5jZS4KICAgICBkZWNvZGVkU2l6ZURlY3JlYXNlZChmcmFtZS5jbGVh
cigpKTsKQEAgLTM3Nyw3ICszODEsNyBAQCB2b2lkIEltYWdlU291cmNlOjpzdG9wQXN5bmNEZWNv
ZGluZ1F1ZXVlCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0ZDo6Zm9yX2VhY2gobV9mcmFtZUNv
bW1pdFF1ZXVlLmJlZ2luKCksIG1fZnJhbWVDb21taXRRdWV1ZS5lbmQoKSwgW3RoaXNdKGNvbnN0
IEltYWdlRnJhbWVSZXF1ZXN0JiBmcmFtZVJlcXVlc3QpIHsKLSAgICAgICAgSW1hZ2VGcmFtZSYg
ZnJhbWUgPSBtX2ZyYW1lc1tmcmFtZVJlcXVlc3QuaW5kZXhdOworICAgICAgICBJbWFnZUZyYW1l
JiBmcmFtZSA9ICptX2ZyYW1lc1tmcmFtZVJlcXVlc3QuaW5kZXhdOwogICAgICAgICBpZiAoIWZy
YW1lLmlzSW52YWxpZCgpKSB7CiAgICAgICAgICAgICBMT0coSW1hZ2VzLCAiSW1hZ2VTb3VyY2U6
OiVzIC0gJXAgLSB1cmw6ICVzIFtkZWNvZGluZyBoYXMgYmVlbiBjYW5jZWxsZWQgZm9yIGZyYW1l
ICVsZF0iLCBfX0ZVTkNUSU9OX18sIHRoaXMsIHNvdXJjZVVSTCgpLnN0cmluZygpLnV0ZjgoKS5k
YXRhKCksIGZyYW1lUmVxdWVzdC5pbmRleCk7CiAgICAgICAgICAgICBmcmFtZS5jbGVhcigpOwpA
QCAtMzk2LDcgKzQwMCw3IEBAIHZvaWQgSW1hZ2VTb3VyY2U6OnN0b3BBc3luY0RlY29kaW5nUXVl
dWUKIGNvbnN0IEltYWdlRnJhbWUmIEltYWdlU291cmNlOjpmcmFtZUF0SW5kZXhDYWNoZUlmTmVl
ZGVkKHNpemVfdCBpbmRleCwgSW1hZ2VGcmFtZTo6Q2FjaGluZyBjYWNoaW5nLCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFN1YnNhbXBsaW5nTGV2ZWw+JiBzdWJzYW1wbGluZ0xldmVsKQogewogICAgIEFT
U0VSVChpbmRleCA8IG1fZnJhbWVzLnNpemUoKSk7Ci0gICAgSW1hZ2VGcmFtZSYgZnJhbWUgPSBt
X2ZyYW1lc1tpbmRleF07CisgICAgSW1hZ2VGcmFtZSYgZnJhbWUgPSAqbV9mcmFtZXNbaW5kZXhd
OwogICAgIGlmICghaXNEZWNvZGVyQXZhaWxhYmxlKCkgfHwgZnJhbWVJc0JlaW5nRGVjb2RlZEFu
ZElzQ29tcGF0aWJsZVdpdGhPcHRpb25zQXRJbmRleChpbmRleCwgRGVjb2RpbmdPcHRpb25zKERl
Y29kaW5nTW9kZTo6QXN5bmNocm9ub3VzKSkpCiAgICAgICAgIHJldHVybiBmcmFtZTsKIApAQCAt
NDY4LDcgKzQ3Miw3IEBAIFQgSW1hZ2VTb3VyY2U6Om1ldGFkYXRhKGNvbnN0IFQmIGRlZmF1bHQK
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CiBUIEltYWdlU291cmNlOjpm
cmFtZU1ldGFkYXRhQXRJbmRleChzaXplX3QgaW5kZXgsIFQgKEltYWdlRnJhbWU6OipmdW5jdG9y
KShBcmdzLi4uKSBjb25zdCwgQXJncyYmLi4uIGFyZ3MpCiB7Ci0gICAgY29uc3QgSW1hZ2VGcmFt
ZSYgZnJhbWUgPSBpbmRleCA8IG1fZnJhbWVzLnNpemUoKSA/IG1fZnJhbWVzW2luZGV4XSA6IElt
YWdlRnJhbWU6OmRlZmF1bHRGcmFtZSgpOworICAgIGNvbnN0IEltYWdlRnJhbWUmIGZyYW1lID0g
aW5kZXggPCBtX2ZyYW1lcy5zaXplKCkgPyAqbV9mcmFtZXNbaW5kZXhdIDogSW1hZ2VGcmFtZTo6
ZGVmYXVsdEZyYW1lKCk7CiAgICAgcmV0dXJuIChmcmFtZS4qZnVuY3Rvcikoc3RkOjpmb3J3YXJk
PEFyZ3M+KGFyZ3MpLi4uKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCShyZXZpc2lvbiAyMzAzNzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjMsNyArMTYzLDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fZGVjb2RlZFNpemUgeyAw
IH07CiAgICAgdW5zaWduZWQgbV9kZWNvZGVkUHJvcGVydGllc1NpemUgeyAwIH07Ci0gICAgVmVj
dG9yPEltYWdlRnJhbWUsIDE+IG1fZnJhbWVzOworICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8
SW1hZ2VGcmFtZT4sIDE+IG1fZnJhbWVzOwogCiAgICAgLy8gQXN5bmNocm9ub3VzIGltYWdlIGRl
Y29kaW5nLgogICAgIHN0cnVjdCBJbWFnZUZyYW1lUmVxdWVzdCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337706</attachid>
            <date>2018-04-11 09:08:42 -0700</date>
            <delta_ts>2018-04-11 09:23:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>imageframe-unique-2.patch</filename>
            <type>text/plain</type>
            <size>9305</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMDUyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE4LTA0LTExICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIEltYWdlRnJhbWUgbm9u
LWNvcHlhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODQ0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJdCB3YXMgY29weWFibGUgc2ltcGx5IHRvIHN1cHBvcnQgaXQgYXMgYW4gaXRlbSBpbiBhIFZl
Y3Rvci4gSW1hZ2UgZnJhbWVzIGhhdmUgcGVybWFuZW50CisgICAgICAgIGlkZW50aXR5IGFmdGVy
IGNvbnN0cnVjdGVkIGFuZCBpdCBtYWtlcyBzZW5zZSB0byByZWZsZWN0IHRoaXMgaW4gdGhlIGNv
ZGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlRnJhbWU6Om9wZXJhdG9yPSk6IERlbGV0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VG
cmFtZTo6SW1hZ2VGcmFtZSk6IERlbGV0ZWQuCisKKyAgICAgICAgQ29weSBjb25zdHJ1Y3RvciBh
bmQgb3BlcmF0b3I9IGFyZSBubyBsb25nZXIgbmVlZGVkLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6
OkltYWdlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpkZXN0cm95RGVj
b2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmRlc3Ryb3lJbmNvbXBs
ZXRlRGVjb2RlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6Omdyb3dGcmFt
ZXMpOgorCisgICAgICAgIENvbnN0cnVjdCB1bmlxdWVfcHRyIHZlY3Rvci4KKworICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VTb3VyY2U6OnNldE5hdGl2ZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlU291cmNlOjpjYWNoZU1ldGFkYXRhQXRJbmRleCk6CisKKyAgICAgICAgUmVtb3ZlIGZy
YW1lIGluZGV4IGFzc2VydHMsIFZlY3RvciBoYXMgdGhpcyBhc3NlcnQgYnVpbGQgaW4uCisKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpjYWNoZU5hdGl2ZUltYWdlQXRJbmRleCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6c3RvcEFzeW5jRGVjb2RpbmdRdWV1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJhbWVBdEluZGV4Q2FjaGVJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJhbWVNZXRhZGF0YUF0SW5kZXgpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmg6CisKIDIwMTgtMDQtMTEg
IEppYW5qdW4gWmh1ICA8amlhbmp1bi56aHVAaW50ZWwuY29tPgogCiAgICAgICAgIEZpeCBhIFdl
YlJUQyBkYXRhIGNoYW5uZWwgaXNzdWUgZm9yIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZS5jcHAJKHJl
dmlzaW9uIDIzMDUyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
RnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwyNCArNDUsNiBAQCBjb25zdCBJbWFnZUZy
YW1lJiBJbWFnZUZyYW1lOjpkZWZhdWx0RnJhCiAgICAgcmV0dXJuIHNoYXJlZEluc3RhbmNlOwog
fQogCi1JbWFnZUZyYW1lJiBJbWFnZUZyYW1lOjpvcGVyYXRvcj0oY29uc3QgSW1hZ2VGcmFtZSYg
b3RoZXIpCi17Ci0gICAgaWYgKHRoaXMgPT0gJm90aGVyKQotICAgICAgICByZXR1cm4gKnRoaXM7
Ci0KLSAgICBtX2RlY29kaW5nU3RhdHVzID0gb3RoZXIubV9kZWNvZGluZ1N0YXR1czsKLSAgICBt
X3NpemUgPSBvdGhlci5tX3NpemU7Ci0KLSAgICBtX25hdGl2ZUltYWdlID0gb3RoZXIubV9uYXRp
dmVJbWFnZTsKLSAgICBtX3N1YnNhbXBsaW5nTGV2ZWwgPSBvdGhlci5tX3N1YnNhbXBsaW5nTGV2
ZWw7Ci0gICAgbV9kZWNvZGluZ09wdGlvbnMgPSBvdGhlci5tX2RlY29kaW5nT3B0aW9uczsKLQot
ICAgIG1fb3JpZW50YXRpb24gPSBvdGhlci5tX29yaWVudGF0aW9uOwotICAgIG1fZHVyYXRpb24g
PSBvdGhlci5tX2R1cmF0aW9uOwotICAgIG1faGFzQWxwaGEgPSBvdGhlci5tX2hhc0FscGhhOwot
ICAgIHJldHVybiAqdGhpczsKLX0KLQogdm9pZCBJbWFnZUZyYW1lOjpzZXREZWNvZGluZ1N0YXR1
cyhEZWNvZGluZ1N0YXR1cyBkZWNvZGluZ1N0YXR1cykKIHsKICAgICBBU1NFUlQoZGVjb2RpbmdT
dGF0dXMgIT0gRGVjb2RpbmdTdGF0dXM6OkRlY29kaW5nKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lLmgJKHJldmlzaW9uIDIzMDUyNCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWUuaAkod29ya2luZyBj
b3B5KQpAQCAtNDIsMTQgKzQyLDEwIEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIENhY2hpbmcg
eyBNZXRhZGF0YSwgTWV0YWRhdGFBbmRJbWFnZSB9OwogCiAgICAgSW1hZ2VGcmFtZSgpOwotICAg
IEltYWdlRnJhbWUoY29uc3QgSW1hZ2VGcmFtZSYgb3RoZXIpIHsgb3BlcmF0b3I9KG90aGVyKTsg
fQotCiAgICAgfkltYWdlRnJhbWUoKTsKIAogICAgIHN0YXRpYyBjb25zdCBJbWFnZUZyYW1lJiBk
ZWZhdWx0RnJhbWUoKTsKIAotICAgIEltYWdlRnJhbWUmIG9wZXJhdG9yPShjb25zdCBJbWFnZUZy
YW1lJiBvdGhlcik7Ci0KICAgICB1bnNpZ25lZCBjbGVhckltYWdlKCk7CiAgICAgdW5zaWduZWQg
Y2xlYXIoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmNwcAkocmV2aXNpb24gMjMwNTI0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMSAr
NTMsMTEgQEAgSW1hZ2VTb3VyY2U6OkltYWdlU291cmNlKE5hdGl2ZUltYWdlUHRyJgogCiAgICAg
c2V0TmF0aXZlSW1hZ2UoV1RGTW92ZShuYXRpdmVJbWFnZSkpOwogCi0gICAgbV9kZWNvZGVkU2l6
ZSA9IG1fZnJhbWVzWzBdLmZyYW1lQnl0ZXMoKTsKKyAgICBtX2RlY29kZWRTaXplID0gZnJhbWVB
dEluZGV4KDApLmZyYW1lQnl0ZXMoKTsKIAogICAgIC8vIFRoZSBhc3N1bXB0aW9uIGlzIHRoZSBt
ZW1vcnkgaW1hZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgd2l0aCB0aGUgZGVmYXVsdAogICAgIC8vIG9y
aWVudGF0aW9uLiBTbyBzZXQgbV9zaXplUmVzcGVjdGluZ09yaWVudGF0aW9uIHRvIGJlIHRoZSBz
YW1lIGFzIG1fc2l6ZS4KLSAgICBtX3NpemUgPSBtX2ZyYW1lc1swXS5zaXplKCk7CisgICAgbV9z
aXplID0gZnJhbWVBdEluZGV4KDApLnNpemUoKTsKICAgICBtX3NpemVSZXNwZWN0aW5nT3JpZW50
YXRpb24gPSBtX3NpemU7CiB9CiAKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIEltYWdlU291cmNl
OjpkZXN0cm95RGVjb2RlZERhdGEoc2l6CiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRl
eCA8IGZyYW1lQ291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgaWYgKGluZGV4ID09IGV4Y2x1ZGVG
cmFtZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBkZWNvZGVkU2l6ZSArPSBtX2Zy
YW1lc1tpbmRleF0uY2xlYXJJbWFnZSgpOworICAgICAgICBkZWNvZGVkU2l6ZSArPSBmcmFtZUF0
SW5kZXgoaW5kZXgpLmNsZWFySW1hZ2UoKTsKICAgICB9CiAKICAgICBkZWNvZGVkU2l6ZVJlc2V0
KGRlY29kZWRTaXplKTsKQEAgLTEzNCwxMCArMTM0LDkgQEAgdm9pZCBJbWFnZVNvdXJjZTo6ZGVz
dHJveUluY29tcGxldGVEZWNvZAogICAgIHVuc2lnbmVkIGRlY29kZWRTaXplID0gMDsKIAogICAg
IGZvciAoYXV0byYgZnJhbWUgOiBtX2ZyYW1lcykgewotICAgICAgICBpZiAoIWZyYW1lLmhhc01l
dGFkYXRhKCkgfHwgZnJhbWUuaXNDb21wbGV0ZSgpKQorICAgICAgICBpZiAoIWZyYW1lLT5oYXNN
ZXRhZGF0YSgpIHx8IGZyYW1lLT5pc0NvbXBsZXRlKCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBkZWNvZGVkU2l6ZSArPSBmcmFtZS5jbGVhcigpOworICAgICAgICBkZWNvZGVk
U2l6ZSArPSBmcmFtZS0+Y2xlYXIoKTsKICAgICB9CiAKICAgICBkZWNvZGVkU2l6ZURlY3JlYXNl
ZChkZWNvZGVkU2l6ZSk7CkBAIC0yMDcsMTUgKzIwNiwxNyBAQCB2b2lkIEltYWdlU291cmNlOjpk
aWREZWNvZGVQcm9wZXJ0aWVzKHVuCiB2b2lkIEltYWdlU291cmNlOjpncm93RnJhbWVzKCkKIHsK
ICAgICBBU1NFUlQoaXNTaXplQXZhaWxhYmxlKCkpOworCiAgICAgYXV0byBuZXdTaXplID0gZnJh
bWVDb3VudCgpOwotICAgIGlmIChuZXdTaXplID4gbV9mcmFtZXMuc2l6ZSgpKQotICAgICAgICBt
X2ZyYW1lcy5ncm93KG5ld1NpemUpOworICAgIG1fZnJhbWVzLnJlc2VydmVDYXBhY2l0eShuZXdT
aXplKTsKKyAgICB3aGlsZSAobV9mcmFtZXMuc2l6ZSgpIDwgbmV3U2l6ZSkKKyAgICAgICAgbV9m
cmFtZXMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW1hZ2VGcmFtZT4oKSk7CiB9
CiAKIHZvaWQgSW1hZ2VTb3VyY2U6OnNldE5hdGl2ZUltYWdlKE5hdGl2ZUltYWdlUHRyJiYgbmF0
aXZlSW1hZ2UpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWVzLnNpemUoKSA9PSAxKTsKLSAgICBJbWFn
ZUZyYW1lJiBmcmFtZSA9IG1fZnJhbWVzWzBdOworICAgIGF1dG8mIGZyYW1lID0gZnJhbWVBdElu
ZGV4KDApOwogCiAgICAgQVNTRVJUKCFpc0RlY29kZXJBdmFpbGFibGUoKSk7CiAKQEAgLTIyOCw4
ICsyMjksNyBAQCB2b2lkIEltYWdlU291cmNlOjpzZXROYXRpdmVJbWFnZShOYXRpdmVJCiAKIHZv
aWQgSW1hZ2VTb3VyY2U6OmNhY2hlTWV0YWRhdGFBdEluZGV4KHNpemVfdCBpbmRleCwgU3Vic2Ft
cGxpbmdMZXZlbCBzdWJzYW1wbGluZ0xldmVsLCBEZWNvZGluZ1N0YXR1cyBkZWNvZGluZ1N0YXR1
cykKIHsKLSAgICBBU1NFUlQoaW5kZXggPCBtX2ZyYW1lcy5zaXplKCkpOwotICAgIEltYWdlRnJh
bWUmIGZyYW1lID0gbV9mcmFtZXNbaW5kZXhdOworICAgIGF1dG8mIGZyYW1lID0gZnJhbWVBdElu
ZGV4KGluZGV4KTsKIAogICAgIEFTU0VSVChpc0RlY29kZXJBdmFpbGFibGUoKSk7CiAgICAgaWYg
KGRlY29kaW5nU3RhdHVzID09IERlY29kaW5nU3RhdHVzOjpJbnZhbGlkKQpAQCAtMjU3LDggKzI1
Nyw3IEBAIHZvaWQgSW1hZ2VTb3VyY2U6OmNhY2hlTWV0YWRhdGFBdEluZGV4KHMKIAogdm9pZCBJ
bWFnZVNvdXJjZTo6Y2FjaGVOYXRpdmVJbWFnZUF0SW5kZXgoTmF0aXZlSW1hZ2VQdHImJiBuYXRp
dmVJbWFnZSwgc2l6ZV90IGluZGV4LCBTdWJzYW1wbGluZ0xldmVsIHN1YnNhbXBsaW5nTGV2ZWws
IGNvbnN0IERlY29kaW5nT3B0aW9ucyYgZGVjb2RpbmdPcHRpb25zLCBEZWNvZGluZ1N0YXR1cyBk
ZWNvZGluZ1N0YXR1cykKIHsKLSAgICBBU1NFUlQoaW5kZXggPCBtX2ZyYW1lcy5zaXplKCkpOwot
ICAgIEltYWdlRnJhbWUmIGZyYW1lID0gbV9mcmFtZXNbaW5kZXhdOworICAgIGF1dG8mIGZyYW1l
ID0gZnJhbWVBdEluZGV4KGluZGV4KTsKIAogICAgIC8vIENsZWFyIHRoZSBjdXJyZW50IGltYWdl
IGZyYW1lIGFuZCB1cGRhdGUgdGhlIG9ic2VydmVyIHdpdGggdGhpcyBjbGVhcmFuY2UuCiAgICAg
ZGVjb2RlZFNpemVEZWNyZWFzZWQoZnJhbWUuY2xlYXIoKSk7CkBAIC0yODIsOCArMjgxLDYgQEAg
dm9pZCBJbWFnZVNvdXJjZTo6Y2FjaGVOYXRpdmVJbWFnZUF0SW5kZQogICAgIGlmICghaXNEZWNv
ZGVyQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVChpbmRleCA8IG1f
ZnJhbWVzLnNpemUoKSk7Ci0KICAgICAvLyBDbGVhbiB0aGUgb2xkIG5hdGl2ZSBpbWFnZSBhbmQg
c2V0IGEgbmV3IG9uZQogICAgIGNhY2hlTmF0aXZlSW1hZ2VBdEluZGV4KFdURk1vdmUobmF0aXZl
SW1hZ2UpLCBpbmRleCwgc3Vic2FtcGxpbmdMZXZlbCwgZGVjb2RpbmdPcHRpb25zLCBkZWNvZGlu
Z1N0YXR1cyk7CiAgICAgTE9HKEltYWdlcywgIkltYWdlU291cmNlOjolcyAtICVwIC0gdXJsOiAl
cyBbZnJhbWUgJWxkIGhhcyBiZWVuIGNhY2hlZF0iLCBfX0ZVTkNUSU9OX18sIHRoaXMsIHNvdXJj
ZVVSTCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIGluZGV4KTsKQEAgLTM3Nyw3ICszNzQsNyBA
QCB2b2lkIEltYWdlU291cmNlOjpzdG9wQXN5bmNEZWNvZGluZ1F1ZXVlCiAgICAgICAgIHJldHVy
bjsKIAogICAgIHN0ZDo6Zm9yX2VhY2gobV9mcmFtZUNvbW1pdFF1ZXVlLmJlZ2luKCksIG1fZnJh
bWVDb21taXRRdWV1ZS5lbmQoKSwgW3RoaXNdKGNvbnN0IEltYWdlRnJhbWVSZXF1ZXN0JiBmcmFt
ZVJlcXVlc3QpIHsKLSAgICAgICAgSW1hZ2VGcmFtZSYgZnJhbWUgPSBtX2ZyYW1lc1tmcmFtZVJl
cXVlc3QuaW5kZXhdOworICAgICAgICBhdXRvJiBmcmFtZSA9IGZyYW1lQXRJbmRleChmcmFtZVJl
cXVlc3QuaW5kZXgpOwogICAgICAgICBpZiAoIWZyYW1lLmlzSW52YWxpZCgpKSB7CiAgICAgICAg
ICAgICBMT0coSW1hZ2VzLCAiSW1hZ2VTb3VyY2U6OiVzIC0gJXAgLSB1cmw6ICVzIFtkZWNvZGlu
ZyBoYXMgYmVlbiBjYW5jZWxsZWQgZm9yIGZyYW1lICVsZF0iLCBfX0ZVTkNUSU9OX18sIHRoaXMs
IHNvdXJjZVVSTCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIGZyYW1lUmVxdWVzdC5pbmRleCk7
CiAgICAgICAgICAgICBmcmFtZS5jbGVhcigpOwpAQCAtMzk1LDggKzM5Miw3IEBAIHZvaWQgSW1h
Z2VTb3VyY2U6OnN0b3BBc3luY0RlY29kaW5nUXVldWUKIAogY29uc3QgSW1hZ2VGcmFtZSYgSW1h
Z2VTb3VyY2U6OmZyYW1lQXRJbmRleENhY2hlSWZOZWVkZWQoc2l6ZV90IGluZGV4LCBJbWFnZUZy
YW1lOjpDYWNoaW5nIGNhY2hpbmcsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3Vic2FtcGxpbmdMZXZl
bD4mIHN1YnNhbXBsaW5nTGV2ZWwpCiB7Ci0gICAgQVNTRVJUKGluZGV4IDwgbV9mcmFtZXMuc2l6
ZSgpKTsKLSAgICBJbWFnZUZyYW1lJiBmcmFtZSA9IG1fZnJhbWVzW2luZGV4XTsKKyAgICBhdXRv
JiBmcmFtZSA9IGZyYW1lQXRJbmRleChpbmRleCk7CiAgICAgaWYgKCFpc0RlY29kZXJBdmFpbGFi
bGUoKSB8fCBmcmFtZUlzQmVpbmdEZWNvZGVkQW5kSXNDb21wYXRpYmxlV2l0aE9wdGlvbnNBdElu
ZGV4KGluZGV4LCBEZWNvZGluZ09wdGlvbnMoRGVjb2RpbmdNb2RlOjpBc3luY2hyb25vdXMpKSkK
ICAgICAgICAgcmV0dXJuIGZyYW1lOwogCkBAIC00NjgsNyArNDY0LDcgQEAgVCBJbWFnZVNvdXJj
ZTo6bWV0YWRhdGEoY29uc3QgVCYgZGVmYXVsdAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWUuLi4gQXJncz4KIFQgSW1hZ2VTb3VyY2U6OmZyYW1lTWV0YWRhdGFBdEluZGV4KHNpemVfdCBp
bmRleCwgVCAoSW1hZ2VGcmFtZTo6KmZ1bmN0b3IpKEFyZ3MuLi4pIGNvbnN0LCBBcmdzJiYuLi4g
YXJncykKIHsKLSAgICBjb25zdCBJbWFnZUZyYW1lJiBmcmFtZSA9IGluZGV4IDwgbV9mcmFtZXMu
c2l6ZSgpID8gbV9mcmFtZXNbaW5kZXhdIDogSW1hZ2VGcmFtZTo6ZGVmYXVsdEZyYW1lKCk7Cisg
ICAgY29uc3QgSW1hZ2VGcmFtZSYgZnJhbWUgPSBpbmRleCA8IG1fZnJhbWVzLnNpemUoKSA/IGZy
YW1lQXRJbmRleChpbmRleCkgOiBJbWFnZUZyYW1lOjpkZWZhdWx0RnJhbWUoKTsKICAgICByZXR1
cm4gKGZyYW1lLipmdW5jdG9yKShzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgJ
KHJldmlzaW9uIDIzMDUyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw2ICsxMjQsOSBAQCBwcml2YXRlOgog
ICAgIEltYWdlU291cmNlKEJpdG1hcEltYWdlKiwgQWxwaGFPcHRpb24gPSBBbHBoYU9wdGlvbjo6
UHJlbXVsdGlwbGllZCwgR2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24gPSBHYW1tYUFuZENvbG9y
UHJvZmlsZU9wdGlvbjo6QXBwbGllZCk7CiAgICAgSW1hZ2VTb3VyY2UoTmF0aXZlSW1hZ2VQdHIm
Jik7CiAKKyAgICBJbWFnZUZyYW1lJiBmcmFtZUF0SW5kZXgoc2l6ZV90IGluZGV4KSB7IHJldHVy
biAqbV9mcmFtZXNbaW5kZXhdOyB9CisgICAgY29uc3QgSW1hZ2VGcmFtZSYgZnJhbWVBdEluZGV4
KHNpemVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gKm1fZnJhbWVzW2luZGV4XTsgfQorCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVCwgVCAoSW1hZ2VEZWNvZGVyOjoqZnVuY3RvcikoKSBjb25zdD4K
ICAgICBUIG1ldGFkYXRhKGNvbnN0IFQmIGRlZmF1bHRWYWx1ZSwgc3RkOjpvcHRpb25hbDxUPiog
Y2FjaGVkVmFsdWUgPSBudWxscHRyKTsKIApAQCAtMTYzLDcgKzE2Niw3IEBAIHByaXZhdGU6CiAK
ICAgICB1bnNpZ25lZCBtX2RlY29kZWRTaXplIHsgMCB9OwogICAgIHVuc2lnbmVkIG1fZGVjb2Rl
ZFByb3BlcnRpZXNTaXplIHsgMCB9OwotICAgIFZlY3RvcjxJbWFnZUZyYW1lLCAxPiBtX2ZyYW1l
czsKKyAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEltYWdlRnJhbWU+LCAxPiBtX2ZyYW1lczsK
IAogICAgIC8vIEFzeW5jaHJvbm91cyBpbWFnZSBkZWNvZGluZy4KICAgICBzdHJ1Y3QgSW1hZ2VG
cmFtZVJlcXVlc3Qgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>