<?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>28198</bug_id>
          
          <creation_ts>2009-08-11 16:04:56 -0700</creation_ts>
          <short_desc>Need to move desktopNotificationsDelegate out of IWebUIDelegate.idl</short_desc>
          <delta_ts>2009-08-11 20:30:47 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Andrew Wilson">atwilson</reporter>
          <assigned_to name="John Gregg">johnnyg</assigned_to>
          <cc>aroben</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>139152</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-11 16:04:56 -0700</bug_when>
    <thetext>Per Maciej:

othermaciej: new methods should be added to a renamed interface that inherits from the original, like IWebUIDelegate2
othermaciej: and the framework should explicitly check whether that interface is implemented before calling them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139183</commentid>
    <comment_count>1</comment_count>
      <attachid>34622</attachid>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2009-08-11 17:53:33 -0700</bug_when>
    <thetext>Created attachment 34622
refactoring of interfaces</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139187</commentid>
    <comment_count>2</comment_count>
      <attachid>34624</attachid>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2009-08-11 17:55:41 -0700</bug_when>
    <thetext>Created attachment 34624
refactoring of interfaces

no tabs this time in my ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139198</commentid>
    <comment_count>3</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-11 18:22:55 -0700</bug_when>
    <thetext>I&apos;ve added aroben and bdash in case they want to review and/or land the fix themselves, otherwise if someone reviews it I can land it tomorrow when someone is around to babysit the Safari build to make sure this fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139213</commentid>
    <comment_count>4</comment_count>
      <attachid>34624</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-08-11 20:22:40 -0700</bug_when>
    <thetext>Comment on attachment 34624
refactoring of interfaces

r=me, thanks for fixing, and sorry for overlooking this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139214</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-08-11 20:30:47 -0700</bug_when>
    <thetext>Landed with some style fix-ups in r47084.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34622</attachid>
            <date>2009-08-11 17:53:33 -0700</date>
            <delta_ts>2009-08-11 17:55:41 -0700</delta_ts>
            <desc>refactoring of interfaces</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>9779</size>
            <attacher name="John Gregg">johnnyg</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA0NzA3NSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDgtMTEgIEpvaG4gR3JlZ2cgIDxqb2hubnln
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKwlN
b3ZlIHRoZSBhY2Nlc3NvciBmb3Igbm90aWZpY2F0aW9ucyBwcmVzZW50ZXIgZnJvbSBXZWJVSURl
bGVnYXRlCisJdG8gV2ViVUlEZWxlZ2F0ZTIgd2hpY2ggZXh0ZW5kcyBpdC4gIFdoZW4gbWFraW5n
IHRoaXMgY2FsbCBmcm9tCisJV2ViQ29yZVN1cHBvcnQsIGNoZWNrIHVzaW5nIFF1ZXJ5SW50ZXJm
YWNlIGJlZm9yZSBjYWxsaW5nLgorCQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjgxOTgKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlVJRGVsZWdh
dGUuaWRsOgorICAgICAgICAqIEludGVyZmFjZXMvSVdlYlVJRGVsZWdhdGUyLmlkbDogQWRkZWQu
CisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6c2hvdyk6CisgICAgICAgIChXZWJEZXNrdG9wTm90
aWZpY2F0aW9uc0RlbGVnYXRlOjpjYW5jZWwpOgorICAgICAgICAoV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZTo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKToKKyAgICAgICAgKFdl
YkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAgICAg
ICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpoYXNOb3RpZmljYXRpb25E
ZWxlZ2F0ZSk6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpub3Rp
ZmljYXRpb25EZWxlZ2F0ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5oOgorCiAyMDA5LTA4LTExICBEcmV3IFdpbHNvbiAgPGF0d2ls
c29uQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChidWlsZCBicmVh
aykuCkluZGV4OiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlVJRGVsZWdhdGUyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlVJRGVsZWdhdGUyLmlkbAkocmV2
aXNpb24gMCkKKysrIFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViVUlEZWxlZ2F0ZTIuaWRsCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET19OT19JTVBPUlRTCitpbXBvcnQg
Im9haWRsLmlkbCI7CitpbXBvcnQgIm9jaWRsLmlkbCI7CisjZW5kaWYKKworLyohCisgICAgQGNh
dGVnb3J5IFdlYlVJRGVsZWdhdGUyCisgICAgQGRpc2N1c3Npb24gQW4gZXh0ZW5zaW9uIG9mIFdl
YlVJRGVsZWdhdGUgd2hpY2ggYWRkaXRpb25hbGx5CisgICAgcHJvdmlkZXMgYWNjZXNzIHRvIGEg
bm90aWZpY2F0aW9uIHByZXNlbnRlci4KKyAgICBAaW50ZXJmYWNlIE5TT2JqZWN0IChXZWJVSURl
bGVnYXRlMikKKyovCitbCisgICAgb2JqZWN0LAorICAgIG9sZWF1dG9tYXRpb24sCisgICAgdXVp
ZChDNkRFRjE1Mi04NkNELTExZGUtOEJGNC1BREQ0NTZEODk1OTMpLAorICAgIHBvaW50ZXJfZGVm
YXVsdCh1bmlxdWUpCitdCisKK2ludGVyZmFjZSBJV2ViVUlEZWxlZ2F0ZTIgOiBJV2ViVUlEZWxl
Z2F0ZQoreworICAgIC8qIQorICAgICAgICBAbWV0aG9kIGRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGU6CisgICAgICAgIEBhYnN0cmFjdCBSZXR1cm5zIHRoZSBub3RpZmljYXRpb25zIGRlbGVn
YXRlIG9iamVjdC4KKyAgICAqLworICAgIEhSRVNVTFQgZGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZShbb3V0LCByZXR2YWxdIElXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlKiogcmVz
dWx0KTsKK30KSW5kZXg6IFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViVUlEZWxlZ2F0ZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJVSURlbGVnYXRlLmlkbAko
cmV2aXNpb24gNDcwNzIpCisrKyBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlVJRGVsZWdhdGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC03NTUsNiArNzU1LDQgQEAgaW50ZXJmYWNlIElXZWJVSURl
bGVnYXRlIDogSVVua25vd24KICAgICBIUkVTVUxUIHBhaW50Q3VzdG9tU2Nyb2xsYmFyKFtpbl0g
SVdlYlZpZXcqIHdlYlZpZXcsIFtpbl0gSERDIGhEQywgW2luXSBSRUNUIHJlY3QsIFtpbl0gV2Vi
U2Nyb2xsQmFyQ29udHJvbFNpemUgc2l6ZSwgW2luXSBXZWJTY3JvbGxiYXJDb250cm9sU3RhdGUg
c3RhdGUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luXSBXZWJTY3JvbGxi
YXJDb250cm9sUGFydCBwcmVzc2VkUGFydCwgW2luXSBCT09MIHZlcnRpY2FsLCBbaW5dIGZsb2F0
IHZhbHVlLCBbaW5dIGZsb2F0IHByb3BvcnRpb24sIFtpbl0gV2ViU2Nyb2xsYmFyQ29udHJvbFBh
cnRNYXNrIHBhcnRzKTsKICAgICBIUkVTVUxUIHBhaW50Q3VzdG9tU2Nyb2xsQ29ybmVyKFtpbl0g
SVdlYlZpZXcqIHdlYlZpZXcsIFtpbl0gSERDIGhEQywgW2luXSBSRUNUIHJlY3QpOwotCi0gICAg
SFJFU1VMVCBkZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlKFtvdXQsIHJldHZhbF0gSVdlYkRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUqKiByZXN1bHQpOwogfQpJbmRleDogV2ViS2l0L3dp
bi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9JbnRlcmZh
Y2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDQ3MDcyKQorKysgV2ViS2l0L3dpbi9JbnRlcmZhY2Vz
L1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsNyBAQCBpbXBvcnQgIm9j
aWRsLmlkbCI7CiAjaW5jbHVkZSAiSVdlYlNlY3VyaXR5T3JpZ2luLmlkbCIKICNpbmNsdWRlICJJ
V2ViVGV4dFJlbmRlcmVyLmlkbCIKICNpbmNsdWRlICJJV2ViVUlEZWxlZ2F0ZS5pZGwiCisjaW5j
bHVkZSAiSVdlYlVJRGVsZWdhdGUyLmlkbCIKICNpbmNsdWRlICJJV2ViVUlEZWxlZ2F0ZVByaXZh
dGUuaWRsIgogI2luY2x1ZGUgIklXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5pZGwiCiAj
aW5jbHVkZSAiSVdlYlVSTFJlcXVlc3QuaWRsIgpJbmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUu
Y3BwCShyZXZpc2lvbiA0NzA3MikKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw0MiAr
MTQ2LDU5IEBAIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OldlYkRlc2sKIAogYm9v
bCBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpzaG93KE5vdGlmaWNhdGlvbiogb2Jq
ZWN0KQogewotICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPnNob3dEZXNrdG9wTm90aWZpY2F0
aW9uKE5vdGlmaWNhdGlvbkNPTVdyYXBwZXI6OmNyZWF0ZShvYmplY3QpKTsKKyAgICBpZiAoaGFz
Tm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKKyAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUoKS0+
c2hvd0Rlc2t0b3BOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uQ09NV3JhcHBlcjo6Y3JlYXRlKG9i
amVjdCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGU6OmNhbmNlbChOb3RpZmljYXRpb24qIG9iamVjdCkKIHsKLSAgICBub3RpZmlj
YXRpb25EZWxlZ2F0ZSgpLT5jYW5jZWxEZXNrdG9wTm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbkNP
TVdyYXBwZXI6OmNyZWF0ZShvYmplY3QpKTsKKyAgICBpZiAoaGFzTm90aWZpY2F0aW9uRGVsZWdh
dGUoKSkKKyAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUoKS0+Y2FuY2VsRGVza3RvcE5vdGlm
aWNhdGlvbihOb3RpZmljYXRpb25DT01XcmFwcGVyOjpjcmVhdGUob2JqZWN0KSk7CiB9CiAKIHZv
aWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6bm90aWZpY2F0aW9uT2JqZWN0RGVz
dHJveWVkKE5vdGlmaWNhdGlvbiogb2JqZWN0KQogewotICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRl
KCktPm5vdGlmaWNhdGlvbkRlc3Ryb3llZChOb3RpZmljYXRpb25DT01XcmFwcGVyOjpjcmVhdGUo
b2JqZWN0KSk7CisgICAgaWYgKGhhc05vdGlmaWNhdGlvbkRlbGVnYXRlKCkpCisgICAgICAgIG5v
dGlmaWNhdGlvbkRlbGVnYXRlKCktPm5vdGlmaWNhdGlvbkRlc3Ryb3llZChOb3RpZmljYXRpb25D
T01XcmFwcGVyOjpjcmVhdGUob2JqZWN0KSk7CiB9CiAKIHZvaWQgV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24oU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwg
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIEJTdHJpbmcgb3JnKG9y
aWdpbi0+dG9TdHJpbmcoKSk7Ci0gICAgbm90aWZpY2F0aW9uRGVsZWdhdGUoKS0+cmVxdWVzdE5v
dGlmaWNhdGlvblBlcm1pc3Npb24ob3JnKTsKKyAgICBpZiAoaGFzTm90aWZpY2F0aW9uRGVsZWdh
dGUoKSkKKyAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUoKS0+cmVxdWVzdE5vdGlmaWNhdGlv
blBlcm1pc3Npb24ob3JnKTsKIH0KIAogTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OmNoZWNrUGVybWlzc2lvbihTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogeyAgCi0gICAgaW50IG91dDsKKyAgICBpbnQgb3V0ID0gMDsKICAg
ICBCU3RyaW5nIG9yZyhvcmlnaW4tPnRvU3RyaW5nKCkpOwotICAgIG5vdGlmaWNhdGlvbkRlbGVn
YXRlKCktPmNoZWNrTm90aWZpY2F0aW9uUGVybWlzc2lvbihvcmcsICZvdXQpOworICAgIGlmICho
YXNOb3RpZmljYXRpb25EZWxlZ2F0ZSgpKQorICAgICAgICBub3RpZmljYXRpb25EZWxlZ2F0ZSgp
LT5jaGVja05vdGlmaWNhdGlvblBlcm1pc3Npb24ob3JnLCAmb3V0KTsKICAgICByZXR1cm4gKE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbikgb3V0OwogfQogCi1DT01QdHI8SVdlYkRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+IFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdh
dGU6Om5vdGlmaWNhdGlvbkRlbGVnYXRlKCkKK2Jvb2wgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZTo6aGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSAKIHsKICAgICBDT01QdHI8SVdlYlVJ
RGVsZWdhdGU+IHVpOwogICAgIG1fd2ViVmlldy0+dWlEZWxlZ2F0ZSgmdWkpOwogICAgIAorICAg
IENPTVB0cjxJV2ViVUlEZWxlZ2F0ZTI+IHVpMjsKKyAgICBpZiAoU1VDQ0VFREVEKHVpLT5RdWVy
eUludGVyZmFjZShJSURfSVdlYlVJRGVsZWdhdGUyLCAmdWkyKSkpCisgICAgICAgIHJldHVybiB0
cnVlOworfQorCitDT01QdHI8SVdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+IFdlYkRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6Om5vdGlmaWNhdGlvbkRlbGVnYXRlKCkKK3sKKyAg
ICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpOworICAgIG1fd2ViVmlldy0+dWlEZWxlZ2F0ZSgm
dWkpOworCisgICAgQ09NUHRyPElXZWJVSURlbGVnYXRlMj4gdWkyOwogICAgIENPTVB0cjxJV2Vi
RGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZT4gZGVsZWdhdGU7Ci0gICAgdWktPmRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUoJmRlbGVnYXRlKTsKLSAgICAKKyAgICBpZiAoU1VDQ0VFREVE
KHVpLT5RdWVyeUludGVyZmFjZShJSURfSVdlYlVJRGVsZWdhdGUyLCAmdWkyKSkpIHsKKyAgICAg
ICAgdWkyLT5kZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlKCZkZWxlZ2F0ZSk7CisgICAgfSAg
ICAKICAgICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKSW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5o
CShyZXZpc2lvbiA0NzA3MikKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbik7
CiAKIHByaXZhdGU6CisgICAgYm9vbCBoYXNOb3RpZmljYXRpb25EZWxlZ2F0ZSgpOwogICAgIENP
TVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZT4gbm90aWZpY2F0aW9uRGVsZWdh
dGUoKTsKICAgICAKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7CkluZGV4OiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0
NzA3NSkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDA5LTA4LTExICBKb2huIEdyZWdnICA8am9obm55Z0Bnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJU3dpdGNoIER1bXBSZW5kZXJU
cmVlIHRvIGNvbnRhaW4gYSBXZWJVSURlbGVnYXRlMiwgd2hpY2ggZXh0ZW5kcworCVdlYlVJRGVs
ZWdhdGUsIHNvIHRoYXQgdGhlIG5vdGlmaWNhdGlvbnMgdGVzdHMgd2lsbCBzdGlsbCB3b3JrLgor
CWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODE5OAorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaDoKKwogMjAwOS0wOC0xMSAgRG1pdHJ5
IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKFNwZWN1bGF0aXZlIGZpeCBmb3IgdGhlIGxheW91dCB0ZXN0IGZhaWx1cmUpLgpJbmRleDog
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oCShyZXZpc2lvbiA0
NzA3MikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKIGNsYXNzIERSVFVuZG9NYW5hZ2VyOwogY2xh
c3MgRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjsKIAotY2xhc3MgVUlEZWxlZ2F0ZSA6
IHB1YmxpYyBJV2ViVUlEZWxlZ2F0ZSwgSVdlYlVJRGVsZWdhdGVQcml2YXRlIHsKK2NsYXNzIFVJ
RGVsZWdhdGUgOiBwdWJsaWMgSVdlYlVJRGVsZWdhdGUyLCBJV2ViVUlEZWxlZ2F0ZVByaXZhdGUg
ewogcHVibGljOgogICAgIFVJRGVsZWdhdGUoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34624</attachid>
            <date>2009-08-11 17:55:41 -0700</date>
            <delta_ts>2009-08-11 20:22:39 -0700</delta_ts>
            <desc>refactoring of interfaces</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>9821</size>
            <attacher name="John Gregg">johnnyg</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA0NzA3NSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDgtMTEgIEpvaG4gR3JlZ2cgIDxqb2hubnln
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTW92ZSB0aGUgYWNjZXNzb3IgZm9yIG5vdGlmaWNhdGlvbnMgcHJlc2VudGVyIGZyb20g
V2ViVUlEZWxlZ2F0ZQorICAgICAgICB0byBXZWJVSURlbGVnYXRlMiB3aGljaCBleHRlbmRzIGl0
LiAgV2hlbiBtYWtpbmcgdGhpcyBjYWxsIGZyb20KKyAgICAgICAgV2ViQ29yZVN1cHBvcnQsIGNo
ZWNrIHVzaW5nIFF1ZXJ5SW50ZXJmYWNlIGJlZm9yZSBjYWxsaW5nLgorCQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgxOTgKKworICAgICAgICAqIElu
dGVyZmFjZXMvSVdlYlVJRGVsZWdhdGUuaWRsOgorICAgICAgICAqIEludGVyZmFjZXMvSVdlYlVJ
RGVsZWdhdGUyLmlkbDogQWRkZWQuCisgICAgICAgICogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUu
Y3BwOgorICAgICAgICAoV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6c2hvdyk6Cisg
ICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjYW5jZWwpOgorICAgICAg
ICAoV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6bm90aWZpY2F0aW9uT2JqZWN0RGVz
dHJveWVkKToKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVl
c3RQZXJtaXNzaW9uKToKKyAgICAgICAgKFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6
OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlOjpoYXNOb3RpZmljYXRpb25EZWxlZ2F0ZSk6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlOjpub3RpZmljYXRpb25EZWxlZ2F0ZSk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oOgorCiAyMDA5LTA4LTEx
ICBEcmV3IFdpbHNvbiAgPGF0d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChidWlsZCBicmVhaykuCkluZGV4OiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlVJRGVsZWdhdGUyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlVJRGVsZWdhdGUyLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViVUlEZWxlZ2F0ZTIuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBE
T19OT19JTVBPUlRTCitpbXBvcnQgIm9haWRsLmlkbCI7CitpbXBvcnQgIm9jaWRsLmlkbCI7Cisj
ZW5kaWYKKworLyohCisgICAgQGNhdGVnb3J5IFdlYlVJRGVsZWdhdGUyCisgICAgQGRpc2N1c3Np
b24gQW4gZXh0ZW5zaW9uIG9mIFdlYlVJRGVsZWdhdGUgd2hpY2ggYWRkaXRpb25hbGx5CisgICAg
cHJvdmlkZXMgYWNjZXNzIHRvIGEgbm90aWZpY2F0aW9uIHByZXNlbnRlci4KKyAgICBAaW50ZXJm
YWNlIE5TT2JqZWN0IChXZWJVSURlbGVnYXRlMikKKyovCitbCisgICAgb2JqZWN0LAorICAgIG9s
ZWF1dG9tYXRpb24sCisgICAgdXVpZChDNkRFRjE1Mi04NkNELTExZGUtOEJGNC1BREQ0NTZEODk1
OTMpLAorICAgIHBvaW50ZXJfZGVmYXVsdCh1bmlxdWUpCitdCisKK2ludGVyZmFjZSBJV2ViVUlE
ZWxlZ2F0ZTIgOiBJV2ViVUlEZWxlZ2F0ZQoreworICAgIC8qIQorICAgICAgICBAbWV0aG9kIGRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6CisgICAgICAgIEBhYnN0cmFjdCBSZXR1cm5zIHRo
ZSBub3RpZmljYXRpb25zIGRlbGVnYXRlIG9iamVjdC4KKyAgICAqLworICAgIEhSRVNVTFQgZGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZShbb3V0LCByZXR2YWxdIElXZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlKiogcmVzdWx0KTsKK30KSW5kZXg6IFdlYktpdC93aW4vSW50ZXJmYWNl
cy9JV2ViVUlEZWxlZ2F0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9JbnRlcmZhY2Vz
L0lXZWJVSURlbGVnYXRlLmlkbAkocmV2aXNpb24gNDcwNzIpCisrKyBXZWJLaXQvd2luL0ludGVy
ZmFjZXMvSVdlYlVJRGVsZWdhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC03NTUsNiArNzU1LDQg
QEAgaW50ZXJmYWNlIElXZWJVSURlbGVnYXRlIDogSVVua25vd24KICAgICBIUkVTVUxUIHBhaW50
Q3VzdG9tU2Nyb2xsYmFyKFtpbl0gSVdlYlZpZXcqIHdlYlZpZXcsIFtpbl0gSERDIGhEQywgW2lu
XSBSRUNUIHJlY3QsIFtpbl0gV2ViU2Nyb2xsQmFyQ29udHJvbFNpemUgc2l6ZSwgW2luXSBXZWJT
Y3JvbGxiYXJDb250cm9sU3RhdGUgc3RhdGUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW2luXSBXZWJTY3JvbGxiYXJDb250cm9sUGFydCBwcmVzc2VkUGFydCwgW2luXSBCT09M
IHZlcnRpY2FsLCBbaW5dIGZsb2F0IHZhbHVlLCBbaW5dIGZsb2F0IHByb3BvcnRpb24sIFtpbl0g
V2ViU2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrIHBhcnRzKTsKICAgICBIUkVTVUxUIHBhaW50Q3Vz
dG9tU2Nyb2xsQ29ybmVyKFtpbl0gSVdlYlZpZXcqIHdlYlZpZXcsIFtpbl0gSERDIGhEQywgW2lu
XSBSRUNUIHJlY3QpOwotCi0gICAgSFJFU1VMVCBkZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
KFtvdXQsIHJldHZhbF0gSVdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUqKiByZXN1bHQp
OwogfQpJbmRleDogV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHJldmlzaW9uIDQ3MDcyKQorKysg
V2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2
ICsxMTIsNyBAQCBpbXBvcnQgIm9jaWRsLmlkbCI7CiAjaW5jbHVkZSAiSVdlYlNlY3VyaXR5T3Jp
Z2luLmlkbCIKICNpbmNsdWRlICJJV2ViVGV4dFJlbmRlcmVyLmlkbCIKICNpbmNsdWRlICJJV2Vi
VUlEZWxlZ2F0ZS5pZGwiCisjaW5jbHVkZSAiSVdlYlVJRGVsZWdhdGUyLmlkbCIKICNpbmNsdWRl
ICJJV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaWRsIgogI2luY2x1ZGUgIklXZWJVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5pZGwiCiAjaW5jbHVkZSAiSVdlYlVSTFJlcXVlc3QuaWRsIgpJbmRleDog
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCShyZXZpc2lvbiA0NzA3MikKKysrIFdlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0Niw0MiArMTQ2LDU5IEBAIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGU6OldlYkRlc2sKIAogYm9vbCBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpz
aG93KE5vdGlmaWNhdGlvbiogb2JqZWN0KQogewotICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCkt
PnNob3dEZXNrdG9wTm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbkNPTVdyYXBwZXI6OmNyZWF0ZShv
YmplY3QpKTsKKyAgICBpZiAoaGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKKyAgICAgICAgbm90
aWZpY2F0aW9uRGVsZWdhdGUoKS0+c2hvd0Rlc2t0b3BOb3RpZmljYXRpb24oTm90aWZpY2F0aW9u
Q09NV3JhcHBlcjo6Y3JlYXRlKG9iamVjdCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lk
IFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OmNhbmNlbChOb3RpZmljYXRpb24qIG9i
amVjdCkKIHsKLSAgICBub3RpZmljYXRpb25EZWxlZ2F0ZSgpLT5jYW5jZWxEZXNrdG9wTm90aWZp
Y2F0aW9uKE5vdGlmaWNhdGlvbkNPTVdyYXBwZXI6OmNyZWF0ZShvYmplY3QpKTsKKyAgICBpZiAo
aGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKKyAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUo
KS0+Y2FuY2VsRGVza3RvcE5vdGlmaWNhdGlvbihOb3RpZmljYXRpb25DT01XcmFwcGVyOjpjcmVh
dGUob2JqZWN0KSk7CiB9CiAKIHZvaWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6
bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogb2JqZWN0KQogewotICAg
IG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPm5vdGlmaWNhdGlvbkRlc3Ryb3llZChOb3RpZmljYXRp
b25DT01XcmFwcGVyOjpjcmVhdGUob2JqZWN0KSk7CisgICAgaWYgKGhhc05vdGlmaWNhdGlvbkRl
bGVnYXRlKCkpCisgICAgICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPm5vdGlmaWNhdGlvbkRl
c3Ryb3llZChOb3RpZmljYXRpb25DT01XcmFwcGVyOjpjcmVhdGUob2JqZWN0KSk7CiB9CiAKIHZv
aWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24oU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQog
ewogICAgIEJTdHJpbmcgb3JnKG9yaWdpbi0+dG9TdHJpbmcoKSk7Ci0gICAgbm90aWZpY2F0aW9u
RGVsZWdhdGUoKS0+cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ob3JnKTsKKyAgICBpZiAo
aGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKKyAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdhdGUo
KS0+cmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24ob3JnKTsKIH0KIAogTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OmNo
ZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogeyAgCi0gICAgaW50IG91dDsK
KyAgICBpbnQgb3V0ID0gMDsKICAgICBCU3RyaW5nIG9yZyhvcmlnaW4tPnRvU3RyaW5nKCkpOwot
ICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPmNoZWNrTm90aWZpY2F0aW9uUGVybWlzc2lvbihv
cmcsICZvdXQpOworICAgIGlmIChoYXNOb3RpZmljYXRpb25EZWxlZ2F0ZSgpKQorICAgICAgICBu
b3RpZmljYXRpb25EZWxlZ2F0ZSgpLT5jaGVja05vdGlmaWNhdGlvblBlcm1pc3Npb24ob3JnLCAm
b3V0KTsKICAgICByZXR1cm4gKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbikgb3V0
OwogfQogCi1DT01QdHI8SVdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+IFdlYkRlc2t0
b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6Om5vdGlmaWNhdGlvbkRlbGVnYXRlKCkKK2Jvb2wgV2Vi
RGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6aGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSAK
IHsKICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpOwogICAgIG1fd2ViVmlldy0+dWlEZWxl
Z2F0ZSgmdWkpOwogICAgIAorICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZTI+IHVpMjsKKyAgICBp
ZiAoU1VDQ0VFREVEKHVpLT5RdWVyeUludGVyZmFjZShJSURfSVdlYlVJRGVsZWdhdGUyLCAmdWky
KSkpCisgICAgICAgIHJldHVybiB0cnVlOworfQorCitDT01QdHI8SVdlYkRlc2t0b3BOb3RpZmlj
YXRpb25zRGVsZWdhdGU+IFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6Om5vdGlmaWNh
dGlvbkRlbGVnYXRlKCkKK3sKKyAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpOworICAgIG1f
d2ViVmlldy0+dWlEZWxlZ2F0ZSgmdWkpOworCisgICAgQ09NUHRyPElXZWJVSURlbGVnYXRlMj4g
dWkyOwogICAgIENPTVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZT4gZGVsZWdh
dGU7Ci0gICAgdWktPmRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUoJmRlbGVnYXRlKTsKLSAg
ICAKKyAgICBpZiAoU1VDQ0VFREVEKHVpLT5RdWVyeUludGVyZmFjZShJSURfSVdlYlVJRGVsZWdh
dGUyLCAmdWkyKSkpIHsKKyAgICAgICAgdWkyLT5kZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
KCZkZWxlZ2F0ZSk7CisgICAgfSAgICAKICAgICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKSW5kZXg6
IFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCShyZXZpc2lvbiA0NzA3MikKKysrIFdlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlm
aWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbik7CiAKIHByaXZhdGU6CisgICAgYm9vbCBoYXNOb3RpZmljYXRp
b25EZWxlZ2F0ZSgpOwogICAgIENPTVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZT4gbm90aWZpY2F0aW9uRGVsZWdhdGUoKTsKICAgICAKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7
CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA0NzA3NSkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDA5LTA4LTExICBKb2huIEdyZWdnICA8am9o
bm55Z0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFN3aXRjaCBEdW1wUmVuZGVyVHJlZSB0byBjb250YWluIGEgV2ViVUlEZWxlZ2F0
ZTIsIHdoaWNoIGV4dGVuZHMKKyAgICAgICAgV2ViVUlEZWxlZ2F0ZSwgc28gdGhhdCB0aGUgbm90
aWZpY2F0aW9ucyB0ZXN0cyB3aWxsIHN0aWxsIHdvcmsuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODE5OAorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvd2luL1VJRGVsZWdhdGUuaDoKKwogMjAwOS0wOC0xMSAgRG1pdHJ5IFRpdG92ICA8ZGltaWNo
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKFNwZWN1bGF0aXZl
IGZpeCBmb3IgdGhlIGxheW91dCB0ZXN0IGZhaWx1cmUpLgpJbmRleDogV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oCShyZXZpc2lvbiA0NzA3MikKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDcgKzM3LDcgQEAKIGNsYXNzIERSVFVuZG9NYW5hZ2VyOwogY2xhc3MgRFJURGVza3RvcE5v
dGlmaWNhdGlvblByZXNlbnRlcjsKIAotY2xhc3MgVUlEZWxlZ2F0ZSA6IHB1YmxpYyBJV2ViVUlE
ZWxlZ2F0ZSwgSVdlYlVJRGVsZWdhdGVQcml2YXRlIHsKK2NsYXNzIFVJRGVsZWdhdGUgOiBwdWJs
aWMgSVdlYlVJRGVsZWdhdGUyLCBJV2ViVUlEZWxlZ2F0ZVByaXZhdGUgewogcHVibGljOgogICAg
IFVJRGVsZWdhdGUoKTsKIAo=
</data>
<flag name="review"
          id="18775"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>