<?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>120573</bug_id>
          
          <creation_ts>2013-08-31 22:35:36 -0700</creation_ts>
          <short_desc>Refactor URL and image writing so layer-violating parts are in Editor, not Pasteboard (Mac-only at first)</short_desc>
          <delta_ts>2013-09-01 12:18:29 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>923404</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-31 22:35:36 -0700</bug_when>
    <thetext>Refactor URL and image writing so layer-violating parts are in Editor, not Pasteboard (Mac-only at first)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923405</commentid>
    <comment_count>1</comment_count>
      <attachid>210229</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-31 22:42:46 -0700</bug_when>
    <thetext>Created attachment 210229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923411</commentid>
    <comment_count>2</comment_count>
      <attachid>210229</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-08-31 23:01:37 -0700</bug_when>
    <thetext>Comment on attachment 210229
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=210229&amp;action=review

&gt; Source/WebCore/editing/Editor.cpp:1173
&gt; +// FIXME: Should this be a member function of HitTestResult?

I&apos;d say so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923414</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-31 23:25:06 -0700</bug_when>
    <thetext>Committed r154939: &lt;http://trac.webkit.org/changeset/154939&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923471</commentid>
    <comment_count>4</comment_count>
      <attachid>210242</attachid>
    <who name="Tobias Netzel">tobias.netzel</who>
    <bug_when>2013-09-01 08:05:52 -0700</bug_when>
    <thetext>Created attachment 210242
don&apos;t use cachedImage without initialization

Didn&apos;t compile here on mac because of using cachedImage without initializing it.
I guess you meant it to be as in the attached patch.
It&apos;s just for your info so you may include that in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923529</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-01 10:57:19 -0700</bug_when>
    <thetext>Looks like this may have caused a new assertion failure:
http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r154943%20(9803)/editing/pasteboard/copy-standalone-image-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923538</commentid>
    <comment_count>6</comment_count>
      <attachid>210242</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-01 12:15:04 -0700</bug_when>
    <thetext>Comment on attachment 210242
don&apos;t use cachedImage without initialization

Those look like good changes. Let me take care of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923540</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-01 12:18:29 -0700</bug_when>
    <thetext>I think the crash is caused by the same thing that Tobias Netzel repotted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210229</attachid>
            <date>2013-08-31 22:42:46 -0700</date>
            <delta_ts>2013-08-31 23:01:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120573-20130831224245.patch</filename>
            <type>text/plain</type>
            <size>18846</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg4ZTZjNTNlMmQ0NWMw
ZDRiYmNhYTA4ZjMxNzU2NGVhNTgzZWJlNC4uMTIwMGQzOWViNTlmNzliNjk1MzRiMzdjMTc2MDU4
OTE0NjIwNjAxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA4LTMxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBVUkwgYW5kIGlt
YWdlIHdyaXRpbmcgc28gbGF5ZXItdmlvbGF0aW5nIHBhcnRzIGFyZSBpbiBFZGl0b3IsIG5vdCBQ
YXN0ZWJvYXJkIChNYWMtb25seSBhdCBmaXJzdCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDU3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpjb3B5KTogVXNlIHdyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQgaW5zdGVhZCBv
ZiBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlIG9uIE1hYy4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRv
cjo6Y29weVVSTCk6IFVzZSB3cml0ZVVSTFRvUGFzdGVib2FyZCBpbnN0ZWFkIG9mIFBhc3RlYm9h
cmQ6OndyaXRlVVJMIG9uIE1hYy4KKyAgICAgICAgKFdlYkNvcmU6OmlubmVyTm9uU2hhcmVkRWxl
bWVudCk6IEFkZGVkLiBVc2VkIGluIGNvcHlJbWFnZS4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRv
cjo6Y29weUltYWdlKTogVXNlIGlubmVyTm9uU2hhcmVkRWxlbWVudCBpbnN0ZWFkIG9mIGlubmVy
Tm9uU2hhcmVkTm9kZS4KKyAgICAgICAgVXNlIHdyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQgaW5zdGVh
ZCBvZiBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlIG9uIE1hYy4KKworICAgICAgICAqIGVkaXRpbmcv
RWRpdG9yLmg6IEFkZCBuZXcgZnVuY3Rpb25zLCB3cml0ZVVSTFRvUGFzdGVib2FyZCBhbmQgd3Jp
dGVJbWFnZVRvUGFzdGVib2FyZCwKKyAgICAgICAgYm90aCBNYWMtb25seSBmb3Igbm93LgorCisg
ICAgICAgICogZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yOjpwYXN0ZVdpdGhQYXN0ZWJvYXJkKTogUmVtb3ZlZCB1bm5lZWRlZCAibV9mcmFtZS5lZGl0
b3IoKSIgcm91bmQgdHJpcCB0aGF0CisgICAgICAgIHdhcyBsZWZ0IGJlaGluZCBpbiB0aGlzIGZ1
bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Z2V0SW1hZ2UpOiBBZGRlZC4gSGVscGVyIHVzZWQg
Ynkgd3JpdGVJbWFnZVRvUGFzdGVib2FyZC4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6d3Jp
dGVVUkxUb1Bhc3RlYm9hcmQpOiBBZGRlZC4gU2V0cyB1cCBQYXN0ZWJvYXJkVVJMIGFuZCB0aGVu
IGNhbGxzCisgICAgICAgIFBhc3RlYm9hcmQ6OndyaXRlIHdpdGggaXQuCisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3I6OndyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQpOiBBZGRlZC4gU2V0cyB1cCBQYXN0
ZWJvYXJkSW1hZ2UgYW5kIHRoZW4gY2FsbHMKKyAgICAgICAgUGFzdGVib2FyZDo6d3JpdGUgd2l0
aCBpdC4KKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRyYWdDb250cm9sbGVyOjpzdGFydERyYWcpOiBVc2UgRWRpdG9yOjp3cml0ZVVSTFRvUGFz
dGVib2FyZCBpbnN0ZWFkIG9mCisgICAgICAgIFBhc3RlYm9hcmQ6OndyaXRlVVJMIG9uIE1hYy4K
KworICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQuaDogQWRkZWQgUGFzdGVib2FyZFVSTCBh
bmQgUGFzdGVib2FyZEltYWdlIHN0cnVjdHVyZXMuCisgICAgICAgIERlY2xhcmUgd3JpdGUgZnVu
Y3Rpb25zIGZvciBQYXN0ZWJvYXJkV2ViQ29udGVudCwgUGFzdGVib2FyZFVSTCwgYW5kIFBhc3Rl
Ym9hcmRJbWFnZS4KKyAgICAgICAgR3VhcmQgd3JpdGVVUkwgYW5kIHdyaXRlSW1hZ2Ugd2l0aCAh
UExBVEZPUk0oTUFDKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVVUkxGb3JUeXBlcyk6IENoYW5nZWQgdGhpcyB0byB0
YWtlIGEgUGFzdGVib2FyZFVSTC4KKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRl
KTogUmVuYW1lZCB3cml0ZVVSTCBhbmQgd3JpdGVJbWFnZSB0byB0aGlzLiBSZWZhY3RvciBib3Ro
CisgICAgICAgIHRvIHRha2UgUGFzdGVib2FyZFVSTCBhbmQgUGFzdGVib2FyZEltYWdlIGFyZ3Vt
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OmZpbGVXcmFwcGVyKTogUmVuYW1lZCBmcm9tIGZpbGVX
cmFwcGVyRm9ySW1hZ2Ugc2luY2UgdGhlIGZhY3QgdGhhdCB0aGlzIGlzCisgICAgICAgIGZvciBh
biBpbWFnZSBpcyBub3cgY2xlYXIgZnJvbSBpdHMgYXJndW1lbnQsIGEgUGFzdGVib2FyZEltYWdl
LgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVGaWxlV3JhcHBlckFzUlRGREF0dGFjaG1lbnQpOiBD
aGFuZ2VkIHRoaXMgZnVuY3Rpb24gdG8gdXNlIGVhcmx5IHJldHVybi4KKwogMjAxMy0wOC0zMSAg
U2FudG9zaCBNYWh0byAgPHNhbnRvc2gubWFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgd2Fybmlu
ZzogdW51c2VkIHBhcmFtZXRlciDigJhyZW5kZXJpbmdNb2RlJyAgaW4gSW1hZ2VCdWZmZXJDYWly
by5jcHA6OTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA0NzBiZmFjMGJiYjEyZGQw
ZTcyYTA4NjE5OTFhZTcyM2YxMzhkYWEwLi44MDFlZTExYzllODlhM2M1MmYyMDVhNWMxMTYwZWFh
MWJiZTFmMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMDczLDkgKzEwNzMs
MTMgQEAgdm9pZCBFZGl0b3I6OmNvcHkoKQogICAgICAgICAgICAgY2FuU21hcnRDb3B5T3JEZWxl
dGUoKSA/IFBhc3RlYm9hcmQ6OkNhblNtYXJ0UmVwbGFjZSA6IFBhc3RlYm9hcmQ6OkNhbm5vdFNt
YXJ0UmVwbGFjZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bV9mcmFtZS5kb2N1bWVudCgpOwotICAgICAgICBpZiAoSFRNTEltYWdlRWxlbWVudCogaW1hZ2VF
bGVtZW50ID0gaW1hZ2VFbGVtZW50RnJvbUltYWdlRG9jdW1lbnQoZG9jdW1lbnQpKQorICAgICAg
ICBpZiAoSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gaW1hZ2VFbGVtZW50RnJvbUlt
YWdlRG9jdW1lbnQoZG9jdW1lbnQpKSB7CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0o
SU9TKQorICAgICAgICAgICAgd3JpdGVJbWFnZVRvUGFzdGVib2FyZCgqUGFzdGVib2FyZDo6Y3Jl
YXRlRm9yQ29weUFuZFBhc3RlKCksICppbWFnZUVsZW1lbnQsIGRvY3VtZW50LT51cmwoKSwgZG9j
dW1lbnQtPnRpdGxlKCkpOworI2Vsc2UKICAgICAgICAgICAgIFBhc3RlYm9hcmQ6OmNyZWF0ZUZv
ckNvcHlBbmRQYXN0ZSgpLT53cml0ZUltYWdlKGltYWdlRWxlbWVudCwgZG9jdW1lbnQtPnVybCgp
LCBkb2N1bWVudC0+dGl0bGUoKSk7Ci0gICAgICAgIGVsc2UgeworI2VuZGlmCisgICAgICAgIH0g
ZWxzZSB7CiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQogICAgICAgICAgICAg
d3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQ
YXN0ZSgpKTsKICNlbHNlCkBAIC0xMTU5LDE2ICsxMTYzLDM5IEBAIHZvaWQgRWRpdG9yOjpjb3B5
VVJMKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKIAogdm9pZCBFZGl0b3I6
OmNvcHlVUkwoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXN0ZWJvYXJk
JiBwYXN0ZWJvYXJkKQogeworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykKKyAg
ICB3cml0ZVVSTFRvUGFzdGVib2FyZChwYXN0ZWJvYXJkLCB1cmwsIHRpdGxlKTsKKyNlbHNlCiAg
ICAgcGFzdGVib2FyZC53cml0ZVVSTCh1cmwsIHRpdGxlLCAmbV9mcmFtZSk7CisjZW5kaWYKK30K
KworLy8gRklYTUU6IFNob3VsZCB0aGlzIGJlIGEgbWVtYmVyIGZ1bmN0aW9uIG9mIEhpdFRlc3RS
ZXN1bHQ/CitzdGF0aWMgRWxlbWVudCogaW5uZXJOb25TaGFyZWRFbGVtZW50KGNvbnN0IEhpdFRl
c3RSZXN1bHQmIHJlc3VsdCkKK3sKKyAgICBOb2RlKiBub2RlID0gcmVzdWx0LmlubmVyTm9uU2hh
cmVkTm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsKKyAg
ICByZXR1cm4gbm9kZS0+cGFyZW50RWxlbWVudCgpOwogfQogCiB2b2lkIEVkaXRvcjo6Y29weUlt
YWdlKGNvbnN0IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKIHsKKyAgICBFbGVtZW50KiBlbGVtZW50
ID0gaW5uZXJOb25TaGFyZWRFbGVtZW50KHJlc3VsdCk7CisgICAgaWYgKCFlbGVtZW50KQorICAg
ICAgICByZXR1cm47CisKICAgICBLVVJMIHVybCA9IHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKTsK
ICAgICBpZiAodXJsLmlzRW1wdHkoKSkKICAgICAgICAgdXJsID0gcmVzdWx0LmFic29sdXRlSW1h
Z2VVUkwoKTsKIAotICAgIFBhc3RlYm9hcmQ6OmNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpLT53cml0
ZUltYWdlKHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSwgdXJsLCByZXN1bHQuYWx0RGlzcGxh
eVN0cmluZygpKTsKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpCisgICAgd3Jp
dGVJbWFnZVRvUGFzdGVib2FyZCgqUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29weUFuZFBhc3RlKCks
ICplbGVtZW50LCB1cmwsIHJlc3VsdC5hbHREaXNwbGF5U3RyaW5nKCkpOworI2Vsc2UKKyAgICBQ
YXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKS0+d3JpdGVJbWFnZShlbGVtZW50LCB1
cmwsIHJlc3VsdC5hbHREaXNwbGF5U3RyaW5nKCkpOworI2VuZGlmCiB9CiAKIGJvb2wgRWRpdG9y
Ojppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaAppbmRleCBmMzM1YTVjMDk2NGQ3OTRhNjNjN2MyZGYxYzNjOTkyMWU0N2JlNjZiLi40
YjkyZThlZGUxYWYzMjcxMDc3NjFmZGQyMzhjZWMxYTU4ODNjZDZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKQEAgLTM5NSw2ICszOTUsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHN0cmluZ1Nl
bGVjdGlvbkZvclBhc3RlYm9hcmQoKTsKICAgICBTdHJpbmcgc3RyaW5nU2VsZWN0aW9uRm9yUGFz
dGVib2FyZFdpdGhJbWFnZUFsdFRleHQoKTsKICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
ZGF0YVNlbGVjdGlvbkZvclBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7
CisgICAgdm9pZCB3cml0ZVVSTFRvUGFzdGVib2FyZChQYXN0ZWJvYXJkJiwgY29uc3QgS1VSTCYs
IGNvbnN0IFN0cmluZyYgdGl0bGUpOworICAgIHZvaWQgd3JpdGVJbWFnZVRvUGFzdGVib2FyZChQ
YXN0ZWJvYXJkJiwgRWxlbWVudCYgaW1hZ2VFbGVtZW50LCBjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CiAjZW5kaWYKIAogICAgIHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhGcmFn
bWVudChQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+LCBib29sIHNlbGVjdFJlcGxhY2VtZW50
LCBib29sIHNtYXJ0UmVwbGFjZSwgYm9vbCBtYXRjaFN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvbWFjL0VkaXRvck1hYy5tbQppbmRleCAwMzA2NWNjMDdhZGUwNmZlYjEzMGVjMzBmODliYjhl
NjMyY2Y0ZTNkLi4xMDc5ZTdmOGJhMTRkNjU0NjRmZjdhMzk4NTdiMGQ2M2Y2ZWE4MTU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC00NSw2ICs0NSw4IEBACiAjaW1wb3J0ICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbXBv
cnQgIlJhbmdlLmgiCiAjaW1wb3J0ICJSZW5kZXJCbG9jay5oIgorI2ltcG9ydCAiUmVuZGVySW1h
Z2UuaCIKKyNpbXBvcnQgIlJlc291cmNlQnVmZmVyLmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCIKICNpbXBvcnQgIlNvdW5kLmgiCiAjaW1wb3J0ICJTdHlsZVByb3BlcnR5
U2V0LmgiCkBAIC03NywxMSArNzksMTEgQEAgdm9pZCBFZGl0b3I6OnBhc3RlV2l0aFBhc3RlYm9h
cmQoUGFzdGVib2FyZCogcGFzdGVib2FyZCwgYm9vbCBhbGxvd1BsYWluVGV4dCkKICAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlID0gc2VsZWN0ZWRSYW5nZSgpOwogICAgIGJvb2wgY2hvb3NlUGxhaW5U
ZXh0OwogICAgIAotICAgIG1fZnJhbWUuZWRpdG9yKCkuY2xpZW50KCktPnNldEluc2VydGlvblBh
c3RlYm9hcmQoTlNHZW5lcmFsUGJvYXJkKTsKKyAgICBjbGllbnQoKS0+c2V0SW5zZXJ0aW9uUGFz
dGVib2FyZChOU0dlbmVyYWxQYm9hcmQpOwogICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBm
cmFnbWVudCA9IHBhc3RlYm9hcmQtPmRvY3VtZW50RnJhZ21lbnQoJm1fZnJhbWUsIHJhbmdlLCBh
bGxvd1BsYWluVGV4dCwgY2hvb3NlUGxhaW5UZXh0KTsKICAgICBpZiAoZnJhZ21lbnQgJiYgc2hv
dWxkSW5zZXJ0RnJhZ21lbnQoZnJhZ21lbnQsIHJhbmdlLCBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0
ZWQpKQogICAgICAgICBwYXN0ZUFzRnJhZ21lbnQoZnJhZ21lbnQsIGNhblNtYXJ0UmVwbGFjZVdp
dGhQYXN0ZWJvYXJkKHBhc3RlYm9hcmQpLCBmYWxzZSk7Ci0gICAgbV9mcmFtZS5lZGl0b3IoKS5j
bGllbnQoKS0+c2V0SW5zZXJ0aW9uUGFzdGVib2FyZChTdHJpbmcoKSk7CisgICAgY2xpZW50KCkt
PnNldEluc2VydGlvblBhc3RlYm9hcmQoU3RyaW5nKCkpOwogfQogCiBib29sIEVkaXRvcjo6aW5z
ZXJ0UGFyYWdyYXBoU2VwYXJhdG9ySW5RdW90ZWRDb250ZW50KCkKQEAgLTM0Niw0ICszNDgsNTIg
QEAgdm9pZCBFZGl0b3I6OndyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmIHBh
c3RlYm9hcmQpCiAgICAgcGFzdGVib2FyZC53cml0ZUFmdGVyU2V0dGluZ1R5cGVzKGNvbnRlbnQp
OwogfQogCitzdGF0aWMgdm9pZCBnZXRJbWFnZShFbGVtZW50JiBpbWFnZUVsZW1lbnQsIFJlZlB0
cjxJbWFnZT4mIGltYWdlLCBDYWNoZWRJbWFnZSomIGNhY2hlZEltYWdlKQoreworICAgIFJlbmRl
ck9iamVjdCogcmVuZGVyZXIgPSBpbWFnZUVsZW1lbnQucmVuZGVyZXIoKTsKKyAgICBpZiAoIXJl
bmRlcmVyIHx8ICFyZW5kZXJlci0+aXNJbWFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBD
YWNoZWRJbWFnZSogdGVudGF0aXZlQ2FjaGVkSW1hZ2UgPSB0b1JlbmRlckltYWdlKHJlbmRlcmVy
KS0+Y2FjaGVkSW1hZ2UoKTsKKyAgICBpZiAoIXRlbnRhdGl2ZUNhY2hlZEltYWdlIHx8IHRlbnRh
dGl2ZUNhY2hlZEltYWdlLT5lcnJvck9jY3VycmVkKCkpIHsKKyAgICAgICAgdGVudGF0aXZlQ2Fj
aGVkSW1hZ2UgPSAwOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaW1hZ2UgPSBjYWNo
ZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihyZW5kZXJlcik7CisgICAgaWYgKCFpbWFnZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgY2FjaGVkSW1hZ2UgPSB0ZW50YXRpdmVDYWNoZWRJbWFnZTsK
K30KKwordm9pZCBFZGl0b3I6OndyaXRlVVJMVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmIHBhc3Rl
Ym9hcmQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBQYXN0
ZWJvYXJkVVJMIHBhc3RlYm9hcmRVUkw7CisgICAgcGFzdGVib2FyZFVSTC51cmwgPSB1cmw7Cisg
ICAgcGFzdGVib2FyZFVSTC50aXRsZSA9IHRpdGxlOworICAgIHBhc3RlYm9hcmRVUkwudXNlclZp
c2libGVGb3JtID0gY2xpZW50KCktPnVzZXJWaXNpYmxlU3RyaW5nKHBhc3RlYm9hcmRVUkwudXJs
KTsKKworICAgIHBhc3RlYm9hcmQud3JpdGUocGFzdGVib2FyZFVSTCk7Cit9CisKK3ZvaWQgRWRp
dG9yOjp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmIHBhc3RlYm9hcmQsIEVsZW1l
bnQmIGltYWdlRWxlbWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQor
eworICAgIFBhc3RlYm9hcmRJbWFnZSBwYXN0ZWJvYXJkSW1hZ2U7CisKKyAgICBDYWNoZWRJbWFn
ZSogY2FjaGVkSW1hZ2U7CisgICAgZ2V0SW1hZ2UoaW1hZ2VFbGVtZW50LCBwYXN0ZWJvYXJkSW1h
Z2UuaW1hZ2UsIGNhY2hlZEltYWdlKTsKKyAgICBpZiAoIXBhc3RlYm9hcmRJbWFnZS5pbWFnZSkK
KyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChjYWNoZWRJbWFnZSk7CisKKyAgICBwYXN0ZWJv
YXJkSW1hZ2UudXJsLnVybCA9IHVybDsKKyAgICBwYXN0ZWJvYXJkSW1hZ2UudXJsLnRpdGxlID0g
dGl0bGU7CisgICAgcGFzdGVib2FyZEltYWdlLnVybC51c2VyVmlzaWJsZUZvcm0gPSBjbGllbnQo
KS0+dXNlclZpc2libGVTdHJpbmcocGFzdGVib2FyZEltYWdlLnVybC51cmwpOworICAgIHBhc3Rl
Ym9hcmRJbWFnZS5yZXNvdXJjZURhdGEgPSBjYWNoZWRJbWFnZS0+cmVzb3VyY2VCdWZmZXIoKS0+
c2hhcmVkQnVmZmVyKCk7CisgICAgcGFzdGVib2FyZEltYWdlLnJlc291cmNlTUlNRVR5cGUgPSBj
YWNoZWRJbWFnZS0+cmVzcG9uc2UoKS5taW1lVHlwZSgpOworCisgICAgcGFzdGVib2FyZC53cml0
ZShwYXN0ZWJvYXJkSW1hZ2UpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDk5MGZjYTU5NmU0MWUyMGNkZmU3MjRj
MGRlOTBmNzkxOTZmNzlmZDcuLjlhOWYyNWFkNzAzYjEwMWQ5NjVkNzhhMDIxMzViZGQ2ZTk0NjQz
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC04MzcsNyArODM3
LDExIEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSogc3JjLCBjb25zdCBE
cmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgIGlmICghY2xpcGJvYXJkLT5w
YXN0ZWJvYXJkKCkuaGFzRGF0YSgpKQogICAgICAgICAgICAgLy8gU2ltcGxpZnkgd2hpdGVzcGFj
ZSBzbyB0aGUgdGl0bGUgcHV0IG9uIHRoZSBjbGlwYm9hcmQgcmVzZW1ibGVzIHdoYXQgdGhlIHVz
ZXIgc2VlcwogICAgICAgICAgICAgLy8gb24gdGhlIHdlYiBwYWdlLiBUaGlzIGluY2x1ZGVzIHJl
cGxhY2luZyBuZXdsaW5lcyB3aXRoIHNwYWNlcy4KKyNpZiBQTEFURk9STShNQUMpCisgICAgICAg
ICAgICBzcmMtPmVkaXRvcigpLndyaXRlVVJMVG9QYXN0ZWJvYXJkKGNsaXBib2FyZC0+cGFzdGVi
b2FyZCgpLCBsaW5rVVJMLCBoaXRUZXN0UmVzdWx0LnRleHRDb250ZW50KCkuc2ltcGxpZnlXaGl0
ZVNwYWNlKCkpOworI2Vsc2UKICAgICAgICAgICAgIGNsaXBib2FyZC0+cGFzdGVib2FyZCgpLndy
aXRlVVJMKGxpbmtVUkwsIGhpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKS5zaW1wbGlmeVdoaXRl
U3BhY2UoKSwgc3JjKTsKKyNlbmRpZgogCiAgICAgICAgIGlmIChzcmMtPnNlbGVjdGlvbigpLmlz
Q2FyZXQoKSAmJiBzcmMtPnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpIHsKICAgICAg
ICAgICAgIC8vIGEgdXNlciBjYW4gaW5pdGlhdGUgYSBkcmFnIG9uIGEgbGluayB3aXRob3V0IGhh
dmluZyBhbnkgdGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVi
b2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDdhZjhh
NGM5MzkyMTAwMGIxY2FiMDg4YzFiMWFjMWE4NDMxNjNkMDguLmU2ZmE4NmE0ZDU1NzJmYzg5ZTJj
YWU5YWIzNWM3YjI4Mzk1M2U4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUGFzdGVib2FyZF9oCiAKICNpbmNsdWRlICJEcmFn
SW1hZ2UuaCIKKyNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpAQCAtODksNiArOTAsMjMgQEAgc3RydWN0IFBhc3RlYm9hcmRXZWJDb250ZW50IHsKICNlbmRp
ZgogfTsKIAorc3RydWN0IFBhc3RlYm9hcmRVUkwgeworI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBM
QVRGT1JNKElPUykKKyAgICBLVVJMIHVybDsKKyAgICBTdHJpbmcgdGl0bGU7CisgICAgU3RyaW5n
IHVzZXJWaXNpYmxlRm9ybTsKKyNlbmRpZgorfTsKKworc3RydWN0IFBhc3RlYm9hcmRJbWFnZSB7
CisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQorICAgIFBhc3RlYm9hcmRVUkwg
dXJsOworICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2U7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
cmVzb3VyY2VEYXRhOworICAgIFN0cmluZyByZXNvdXJjZU1JTUVUeXBlOworI2VuZGlmCit9Owor
CiBjbGFzcyBQYXN0ZWJvYXJkIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC0xMzcsMTYgKzE1NSwyMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUeXBlcyhjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVudCYp
OwogICAgIHZvaWQgd3JpdGVBZnRlclNldHRpbmdUeXBlcyhjb25zdCBQYXN0ZWJvYXJkV2ViQ29u
dGVudCYpOwogCisgICAgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVudCYpOwor
ICAgIHZvaWQgd3JpdGUoY29uc3QgUGFzdGVib2FyZFVSTCYpOworICAgIHZvaWQgd3JpdGUoY29u
c3QgUGFzdGVib2FyZEltYWdlJik7CisKICAgICBib29sIHdyaXRlU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBkYXRhKTsKICNpZiAhKFBMQVRGT1JNKE1BQykgJiYgIVBM
QVRGT1JNKElPUykpCiAgICAgdm9pZCB3cml0ZVNlbGVjdGlvbihSYW5nZSosIGJvb2wgY2FuU21h
cnRDb3B5T3JEZWxldGUsIEZyYW1lKiwgU2hvdWxkU2VyaWFsaXplU2VsZWN0ZWRUZXh0Rm9yQ2xp
cGJvYXJkID0gRGVmYXVsdFNlbGVjdGVkVGV4dFR5cGUpOyAvLyBGSVhNRTogTGF5ZXJpbmcgdmlv
bGF0aW9uLgogI2VuZGlmCiAgICAgdm9pZCB3cml0ZU1hcmt1cChjb25zdCBTdHJpbmcmIG1hcmt1
cCk7CiAgICAgdm9pZCB3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmLCBTbWFydFJlcGxhY2VP
cHRpb24pOwotI2lmICFQTEFURk9STShJT1MpCisjaWYgIVBMQVRGT1JNKE1BQykKICAgICB2b2lk
IHdyaXRlVVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBGcmFtZSogPSAwKTsgLy8gRklY
TUU6IExheWVyaW5nIHZpb2xhdGlvbi4KICAgICB2b2lkIHdyaXRlSW1hZ2UoTm9kZSosIGNvbnN0
IEtVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsgLy8gRklYTUU6IExheWVyaW5nIHZpb2xhdGlv
bi4KLSNlbHNlCisjZW5kaWYKKyNpZiBQTEFURk9STShJT1MpCiAgICAgdm9pZCB3cml0ZUltYWdl
KE5vZGUqLCBGcmFtZSopOyAvLyBGSVhNRTogTGF5ZXJpbmcgdmlvbGF0aW9uLgogICAgIHZvaWQg
d3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJiwgRnJhbWUqKTsgLy8gRklYTUU6IExheWVyaW5n
IHZpb2xhdGlvbi4KICAgICBzdGF0aWMgTlNBcnJheSogc3VwcG9ydGVkUGFzdGVib2FyZFR5cGVz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4
IGNjNTc1MjNlYTM3ZGFlYzU1OTBhNjEyZDk4OTI2NjY3MmY3NTNlYWIuLjZjMWUxY2M4MGM5MGNm
MjY2NjBhZjBlMTU5MjQ0ZTE0NGYyYTNmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC0xODcsMjUgKzE4NywyNSBAQCB2b2lkIFBhc3RlYm9h
cmQ6OndyaXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgU21hcnRSZXBsYWNlT3B0aW9u
IHNtYXJ0UmVwbAogICAgICAgICBtX2NoYW5nZUNvdW50ID0gcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PnBhc3RlYm9hcmRTdHJhdGVneSgpLT5zZXRCdWZmZXJGb3JUeXBlKDAsIFdlYlNtYXJ0UGFzdGVQ
Ym9hcmRUeXBlLCBtX3Bhc3RlYm9hcmROYW1lKTsKIH0KIAotc3RhdGljIGxvbmcgd3JpdGVVUkxG
b3JUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZVN0ciwgRnJhbWUq
IGZyYW1lKQorc3RhdGljIGxvbmcgd3JpdGVVUkxGb3JUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYgdHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRV
UkwmIHBhc3RlYm9hcmRVUkwpCiB7CiAgICAgbG9uZyBuZXdDaGFuZ2VDb3VudCA9IHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0VHlwZXModHlwZXMsIHBhc3Rl
Ym9hcmROYW1lKTsKICAgICAKLSAgICBBU1NFUlQoIXVybC5pc0VtcHR5KCkpOworICAgIEFTU0VS
VCghcGFzdGVib2FyZFVSTC51cmwuaXNFbXB0eSgpKTsKICAgICAKLSAgICBOU1VSTCAqY29jb2FV
UkwgPSB1cmw7Ci0gICAgTlNTdHJpbmcgKnVzZXJWaXNpYmxlU3RyaW5nID0gZnJhbWUtPmVkaXRv
cigpLmNsaWVudCgpLT51c2VyVmlzaWJsZVN0cmluZyhjb2NvYVVSTCk7Ci0gICAgCi0gICAgTlNT
dHJpbmcgKnRpdGxlID0gKE5TU3RyaW5nKil0aXRsZVN0cjsKLSAgICBpZiAoW3RpdGxlIGxlbmd0
aF0gPT0gMCkgeworICAgIE5TVVJMICpjb2NvYVVSTCA9IHBhc3RlYm9hcmRVUkwudXJsOworICAg
IE5TU3RyaW5nICp1c2VyVmlzaWJsZVN0cmluZyA9IHBhc3RlYm9hcmRVUkwudXNlclZpc2libGVG
b3JtOworICAgIE5TU3RyaW5nICp0aXRsZSA9IChOU1N0cmluZyAqKXBhc3RlYm9hcmRVUkwudGl0
bGU7CisgICAgaWYgKCFbdGl0bGUgbGVuZ3RoXSkgewogICAgICAgICB0aXRsZSA9IFtbY29jb2FV
UkwgcGF0aF0gbGFzdFBhdGhDb21wb25lbnRdOwotICAgICAgICBpZiAoW3RpdGxlIGxlbmd0aF0g
PT0gMCkKKyAgICAgICAgaWYgKCFbdGl0bGUgbGVuZ3RoXSkKICAgICAgICAgICAgIHRpdGxlID0g
dXNlclZpc2libGVTdHJpbmc7CiAgICAgfQorCiAgICAgaWYgKHR5cGVzLmNvbnRhaW5zKFdlYlVS
THNXaXRoVGl0bGVzUGJvYXJkVHlwZSkpIHsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gcGF0aHM7
CiAgICAgICAgIHBhdGhzLmFwcGVuZChbY29jb2FVUkwgYWJzb2x1dGVTdHJpbmddKTsKLSAgICAg
ICAgcGF0aHMuYXBwZW5kKHRpdGxlU3RyLnN0cmlwV2hpdGVTcGFjZSgpKTsKKyAgICAgICAgcGF0
aHMuYXBwZW5kKHBhc3RlYm9hcmRVUkwudGl0bGUuc3RyaXBXaGl0ZVNwYWNlKCkpOwogICAgICAg
ICBuZXdDaGFuZ2VDb3VudCA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRl
Z3koKS0+c2V0UGF0aG5hbWVzRm9yVHlwZShwYXRocywgV2ViVVJMc1dpdGhUaXRsZXNQYm9hcmRU
eXBlLCBwYXN0ZWJvYXJkTmFtZSk7CiAgICAgfQogICAgIGlmICh0eXBlcy5jb250YWlucyhTdHJp
bmcoTlNVUkxQYm9hcmRUeXBlKSkpCkBAIC0yMjAsNjUgKzIyMCw0NSBAQCBzdGF0aWMgbG9uZyB3
cml0ZVVSTEZvclR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYQogICAgIHJldHVybiBuZXdDaGFuZ2VDb3VudDsKIH0KICAgICAKLXZvaWQgUGFz
dGVib2FyZDo6d3JpdGVVUkwoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlU3Ry
LCBGcmFtZSogZnJhbWUpCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRV
UkwmIHBhc3RlYm9hcmRVUkwpCiB7Ci0gICAgbV9jaGFuZ2VDb3VudCA9IHdyaXRlVVJMRm9yVHlw
ZXMod3JpdGFibGVUeXBlc0ZvclVSTCgpLCBtX3Bhc3RlYm9hcmROYW1lLCB1cmwsIHRpdGxlU3Ry
LCBmcmFtZSk7CisgICAgbV9jaGFuZ2VDb3VudCA9IHdyaXRlVVJMRm9yVHlwZXMod3JpdGFibGVU
eXBlc0ZvclVSTCgpLCBtX3Bhc3RlYm9hcmROYW1lLCBwYXN0ZWJvYXJkVVJMKTsKIH0KIAotc3Rh
dGljIE5TRmlsZVdyYXBwZXIqIGZpbGVXcmFwcGVyRm9ySW1hZ2UoQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlLCBOU1VSTCAqdXJsKQorc3RhdGljIE5TRmlsZVdyYXBwZXIqIGZpbGVXcmFwcGVyKGNv
bnN0IFBhc3RlYm9hcmRJbWFnZSYgcGFzdGVib2FyZEltYWdlKQogewotICAgIFJlc291cmNlQnVm
ZmVyKiBjb3JlRGF0YSA9IHJlc291cmNlLT5yZXNvdXJjZUJ1ZmZlcigpOwotICAgIE5TRGF0YSAq
ZGF0YSA9IFtbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlczpjb3JlRGF0YS0+ZGF0YSgpIGxl
bmd0aDpjb3JlRGF0YS0+c2l6ZSgpXSBhdXRvcmVsZWFzZV07CisgICAgTlNEYXRhICpkYXRhID0g
cGFzdGVib2FyZEltYWdlLnJlc291cmNlRGF0YS0+Y3JlYXRlTlNEYXRhKCk7CiAgICAgTlNGaWxl
V3JhcHBlciAqd3JhcHBlciA9IFtbW05TRmlsZVdyYXBwZXIgYWxsb2NdIGluaXRSZWd1bGFyRmls
ZVdpdGhDb250ZW50czpkYXRhXSBhdXRvcmVsZWFzZV07Ci0gICAgU3RyaW5nIGNvcmVNSU1FVHlw
ZSA9IHJlc291cmNlLT5yZXNwb25zZSgpLm1pbWVUeXBlKCk7Ci0gICAgTlNTdHJpbmcgKk1JTUVU
eXBlID0gbmlsOwotICAgIGlmICghY29yZU1JTUVUeXBlLmlzTnVsbCgpKQotICAgICAgICBNSU1F
VHlwZSA9IGNvcmVNSU1FVHlwZTsKLSAgICBbd3JhcHBlciBzZXRQcmVmZXJyZWRGaWxlbmFtZTpz
dWdnZXN0ZWRGaWxlbmFtZVdpdGhNSU1FVHlwZSh1cmwsIE1JTUVUeXBlKV07CisgICAgW2RhdGEg
cmVsZWFzZV07CisgICAgW3dyYXBwZXIgc2V0UHJlZmVycmVkRmlsZW5hbWU6c3VnZ2VzdGVkRmls
ZW5hbWVXaXRoTUlNRVR5cGUocGFzdGVib2FyZEltYWdlLnVybC51cmwsIHBhc3RlYm9hcmRJbWFn
ZS5yZXNvdXJjZU1JTUVUeXBlKV07CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKLXN0YXRpYyB2
b2lkIHdyaXRlRmlsZVdyYXBwZXJBc1JURkRBdHRhY2htZW50KE5TRmlsZVdyYXBwZXIqIHdyYXBw
ZXIsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGxvbmcmIG5ld0NoYW5nZUNvdW50KQor
c3RhdGljIHZvaWQgd3JpdGVGaWxlV3JhcHBlckFzUlRGREF0dGFjaG1lbnQoTlNGaWxlV3JhcHBl
ciAqd3JhcHBlciwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgbG9uZyYgbmV3Q2hhbmdl
Q291bnQpCiB7CiAgICAgTlNUZXh0QXR0YWNobWVudCAqYXR0YWNobWVudCA9IFtbTlNUZXh0QXR0
YWNobWVudCBhbGxvY10gaW5pdFdpdGhGaWxlV3JhcHBlcjp3cmFwcGVyXTsKLSAgICAKICAgICBO
U0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZyA9IFtOU0F0dHJpYnV0ZWRTdHJpbmcgYXR0cmlidXRl
ZFN0cmluZ1dpdGhBdHRhY2htZW50OmF0dGFjaG1lbnRdOwogICAgIFthdHRhY2htZW50IHJlbGVh
c2VdOwotICAgIAotICAgIE5TRGF0YSAqUlRGRERhdGEgPSBbc3RyaW5nIFJURkRGcm9tUmFuZ2U6
TlNNYWtlUmFuZ2UoMCwgW3N0cmluZyBsZW5ndGhdKSBkb2N1bWVudEF0dHJpYnV0ZXM6bmlsXTsK
LSAgICBpZiAoUlRGRERhdGEpCi0gICAgICAgIG5ld0NoYW5nZUNvdW50ID0gcGxhdGZvcm1TdHJh
dGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT5zZXRCdWZmZXJGb3JUeXBlKFNoYXJlZEJ1
ZmZlcjo6d3JhcE5TRGF0YShSVEZERGF0YSkuZ2V0KCksIE5TUlRGRFBib2FyZFR5cGUsIHBhc3Rl
Ym9hcmROYW1lKTsKLX0KLQotdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKE5vZGUqIG5vZGUs
IGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKLXsKLSAgICBBU1NFUlQobm9k
ZSk7CiAKLSAgICBpZiAoIShub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlz
SW1hZ2UoKSkpCisgICAgTlNEYXRhICpSVEZERGF0YSA9IFtzdHJpbmcgUlRGREZyb21SYW5nZTpO
U01ha2VSYW5nZSgwLCBbc3RyaW5nIGxlbmd0aF0pIGRvY3VtZW50QXR0cmlidXRlczpuaWxdOwor
ICAgIGlmICghUlRGRERhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAgIE5TVVJMICpjb2NvYVVS
TCA9IHVybDsKLSAgICBBU1NFUlQoY29jb2FVUkwpOwotCi0gICAgUmVuZGVySW1hZ2UqIHJlbmRl
cmVyID0gdG9SZW5kZXJJbWFnZShub2RlLT5yZW5kZXJlcigpKTsKLSAgICBDYWNoZWRJbWFnZSog
Y2FjaGVkSW1hZ2UgPSByZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKTsKLSAgICBpZiAoIWNhY2hlZElt
YWdlIHx8IGNhY2hlZEltYWdlLT5lcnJvck9jY3VycmVkKCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICBuZXdDaGFuZ2VDb3VudCA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRl
Z3koKS0+c2V0QnVmZmVyRm9yVHlwZShTaGFyZWRCdWZmZXI6OndyYXBOU0RhdGEoUlRGRERhdGEp
LmdldCgpLCBOU1JURkRQYm9hcmRUeXBlLCBwYXN0ZWJvYXJkTmFtZSk7Cit9CiAKLSAgICBtX2No
YW5nZUNvdW50ID0gd3JpdGVVUkxGb3JUeXBlcyh3cml0YWJsZVR5cGVzRm9ySW1hZ2UoKSwgbV9w
YXN0ZWJvYXJkTmFtZSwgY29jb2FVUkwsIG5zU3RyaW5nTmlsSWZFbXB0eSh0aXRsZSksIG5vZGUt
PmRvY3VtZW50KCkuZnJhbWUoKSk7Ci0gICAgCi0gICAgSW1hZ2UqIGltYWdlID0gY2FjaGVkSW1h
Z2UtPmltYWdlRm9yUmVuZGVyZXIocmVuZGVyZXIpOwotICAgIGlmICghaW1hZ2UpCi0gICAgICAg
IHJldHVybjsKLSAgICBOU0RhdGEgKmltYWdlRGF0YSA9IChOU0RhdGEgKilbaW1hZ2UtPmdldE5T
SW1hZ2UoKSBUSUZGUmVwcmVzZW50YXRpb25dOwordm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25z
dCBQYXN0ZWJvYXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkKK3sKKyAgICBOU0RhdGEgKmltYWdl
RGF0YSA9IFtwYXN0ZWJvYXJkSW1hZ2UuaW1hZ2UtPmdldE5TSW1hZ2UoKSBUSUZGUmVwcmVzZW50
YXRpb25dOwogICAgIGlmICghaW1hZ2VEYXRhKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jaGFu
Z2VDb3VudCA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0
QnVmZmVyRm9yVHlwZShTaGFyZWRCdWZmZXI6OndyYXBOU0RhdGEoaW1hZ2VEYXRhKSwgTlNUSUZG
UGJvYXJkVHlwZSwgbV9wYXN0ZWJvYXJkTmFtZSk7CiAKLSAgICBTdHJpbmcgTUlNRVR5cGUgPSBj
YWNoZWRJbWFnZS0+cmVzcG9uc2UoKS5taW1lVHlwZSgpOwotICAgIEFTU0VSVChNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlUmVzb3VyY2VNSU1FVHlwZShNSU1FVHlwZSkpOworICAg
IC8vIEZJWE1FOiBXaHkgY2FuIHdlIGFzc2VydCB0aGlzPyBJdCBkb2Vzbid0IHNlZW0gbGlrZSBp
dCdzIGd1YXJhbnRlZWQuCisgICAgQVNTRVJUKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVk
SW1hZ2VSZXNvdXJjZU1JTUVUeXBlKHBhc3RlYm9hcmRJbWFnZS5yZXNvdXJjZU1JTUVUeXBlKSk7
CiAKLSAgICB3cml0ZUZpbGVXcmFwcGVyQXNSVEZEQXR0YWNobWVudChmaWxlV3JhcHBlckZvcklt
YWdlKGNhY2hlZEltYWdlLCBjb2NvYVVSTCksIG1fcGFzdGVib2FyZE5hbWUsIG1fY2hhbmdlQ291
bnQpOworICAgIG1fY2hhbmdlQ291bnQgPSB3cml0ZVVSTEZvclR5cGVzKHdyaXRhYmxlVHlwZXNG
b3JJbWFnZSgpLCBtX3Bhc3RlYm9hcmROYW1lLCBwYXN0ZWJvYXJkSW1hZ2UudXJsKTsKKyAgICBt
X2NoYW5nZUNvdW50ID0gcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgp
LT5zZXRCdWZmZXJGb3JUeXBlKFNoYXJlZEJ1ZmZlcjo6d3JhcE5TRGF0YShpbWFnZURhdGEpLCBO
U1RJRkZQYm9hcmRUeXBlLCBtX3Bhc3RlYm9hcmROYW1lKTsKKyAgICB3cml0ZUZpbGVXcmFwcGVy
QXNSVEZEQXR0YWNobWVudChmaWxlV3JhcHBlcihwYXN0ZWJvYXJkSW1hZ2UpLCBtX3Bhc3RlYm9h
cmROYW1lLCBtX2NoYW5nZUNvdW50KTsKIH0KIAogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZVBhc3Rl
Ym9hcmQoY29uc3QgUGFzdGVib2FyZCYgcGFzdGVib2FyZCkK
</data>
<flag name="review"
          id="232323"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="232324"
          type_id="3"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210242</attachid>
            <date>2013-09-01 08:05:52 -0700</date>
            <delta_ts>2013-09-01 12:15:04 -0700</delta_ts>
            <desc>don&apos;t use cachedImage without initialization</desc>
            <filename>EditorMac.patch</filename>
            <type>text/plain</type>
            <size>793</size>
            <attacher name="Tobias Netzel">tobias.netzel</attacher>
            
              <data encoding="base64">SW5kZXg6IGVkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS90
cnVuay9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0gYi90cnVuay9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KLS0tIGEvdHJ1bmsvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCShSZXZpc2lvbiAxNTQ5NDEpCisrKyBiL3Ry
dW5rL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQkoQXJiZWl0c2tvcGll
KQpAQCAtMzYwLDcgKzM4Niw3IEBACiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpbWFn
ZSA9IGNhY2hlZEltYWdlLT5pbWFnZUZvclJlbmRlcmVyKHJlbmRlcmVyKTsKKyAgICBpbWFnZSA9
IHRlbnRhdGl2ZUNhY2hlZEltYWdlLT5pbWFnZUZvclJlbmRlcmVyKHJlbmRlcmVyKTsKICAgICBp
ZiAoIWltYWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTM4MSw3ICs0MDcsNyBAQAogewogICAg
IFBhc3RlYm9hcmRJbWFnZSBwYXN0ZWJvYXJkSW1hZ2U7CiAKLSAgICBDYWNoZWRJbWFnZSogY2Fj
aGVkSW1hZ2U7CisgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gbnVsbHB0cjsKICAgICBn
ZXRJbWFnZShpbWFnZUVsZW1lbnQsIHBhc3RlYm9hcmRJbWFnZS5pbWFnZSwgY2FjaGVkSW1hZ2Up
OwogICAgIGlmICghcGFzdGVib2FyZEltYWdlLmltYWdlKQogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>