<?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>45961</bug_id>
          
          <creation_ts>2010-09-17 06:49:23 -0700</creation_ts>
          <short_desc>Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports resource as not cached to InspectorController.</short_desc>
          <delta_ts>2010-09-17 09:15:12 -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>Web Inspector (Deprecated)</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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280636</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 06:49:23 -0700</bug_when>
    <thetext>There is one path in control flow that leads to resource&apos;s being reported as not cached. Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280637</commentid>
    <comment_count>1</comment_count>
      <attachid>67907</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 06:56:02 -0700</bug_when>
    <thetext>Created attachment 67907
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280640</commentid>
    <comment_count>2</comment_count>
      <attachid>67908</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 07:26:54 -0700</bug_when>
    <thetext>Created attachment 67908
[PATCH] Same with willSendRequest not being issued for cached resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280651</commentid>
    <comment_count>3</comment_count>
      <attachid>67909</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 08:38:29 -0700</bug_when>
    <thetext>Created attachment 67909
[PATCH] Simpler solution.

This one looks more hacky, but is indeed better since it does not introduce unnecessary complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280668</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 09:03:10 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
        M       WebCore/ChangeLog
        M       WebCore/inspector/InspectorController.cpp
        M       WebCore/inspector/InspectorController.h
        M       WebCore/inspector/InspectorResource.cpp
        M       WebCore/inspector/InspectorResource.h
        M       WebCore/loader/FrameLoader.cpp
Committed r67709</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280669</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-17 09:05:20 -0700</bug_when>
    <thetext>I&apos;ve read through the bug and the patch, and I&apos;m confused. The bug seems to be about a problem in FrameLoader, and the patch doesn&apos;t fix it, correct?

Can the problem have other consequences, perhaps outside Inspector? Should loadedResourceFromMemoryCache() be renamed to maybeLoadedResourceFromMemoryCacheUnlessSomethingHappened()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280676</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 09:15:12 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;ve read through the bug and the patch, and I&apos;m confused. The bug seems to be about a problem in FrameLoader, and the patch doesn&apos;t fix it, correct?
&gt; 
&gt; Can the problem have other consequences, perhaps outside Inspector? Should loadedResourceFromMemoryCache() be renamed to maybeLoadedResourceFromMemoryCacheUnlessSomethingHappened()?

I believe this was inspector&apos;s problem. We are still loading resource off cache.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67907</attachid>
            <date>2010-09-17 06:56:02 -0700</date>
            <delta_ts>2010-09-17 07:26:54 -0700</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>cached_loader</filename>
            <type>text/plain</type>
            <size>4698</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTEzODA3ZC4uMTY2Yzk3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOS0xNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBGcmFtZUxvYWRlcjo6bG9hZGVkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUgcmVwb3J0cworICAgICAgICByZXNvdXJjZSBhcyBub3QgY2Fj
aGVkIHRvIEluc3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIFRoZXJlIGlzIG9uZSBwYXRoIGlu
IGNvbnRyb2wgZmxvdyB0aGF0IGxlYWRzIHRvIHJlc291cmNlJ3MgYmVpbmcKKyAgICAgICAgcmVw
b3J0ZWQgYXMgbm90IGNhY2hlZC4gUGF0Y2ggdG8gZm9sbG93LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU5NjEKKworICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZGVkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJl
bWFpbmluZ0RlbGVnYXRlTWVzc2FnZXNGb3JDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgICogbG9h
ZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmg6CisKIDIwMTAtMDktMTYgIHRha2FubyB0YWt1bWkg
IDx0YWthbm8xQGFzaWEuYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFt
dXJhLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDJlYzZmNzIuLmU1MDUzMzkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKQEAgLTMwMjIsMTAgKzMwMjIsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogICAgIGlmICghcmVzb3VyY2UtPnNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSB8fCBt
X2RvY3VtZW50TG9hZGVyLT5oYXZlVG9sZENsaWVudEFib3V0TG9hZChyZXNvdXJjZS0+dXJsKCkp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIXBhZ2UtPmFyZU1lbW9yeUNhY2hlQ2xpZW50
Q2FsbHNFbmFibGVkKCkpIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBwYWdlLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShtX2Rv
Y3VtZW50TG9hZGVyLmdldCgpLCByZXNvdXJjZSk7CisgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpLT5kaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUobV9kb2N1bWVudExvYWRlci5n
ZXQoKSwgcmVzb3VyY2UpOwogI2VuZGlmCisKKyAgICBpZiAoIXBhZ2UtPmFyZU1lbW9yeUNhY2hl
Q2xpZW50Q2FsbHNFbmFibGVkKCkpIHsKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+cmVjb3Jk
TWVtb3J5Q2FjaGVMb2FkRm9yRnV0dXJlQ2xpZW50Tm90aWZpY2F0aW9uKHJlc291cmNlLT51cmwo
KSk7CiAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmRpZFRlbGxDbGllbnRBYm91dExvYWQocmVz
b3VyY2UtPnVybCgpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzAzMyw5ICszMDM0LDYgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoY29uc3QgQ2FjaGVk
UmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QocmVzb3Vy
Y2UtPnVybCgpKTsKICAgICBpZiAobV9jbGllbnQtPmRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJv
bU1lbW9yeUNhY2hlKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIHJlcXVlc3QsIHJlc291cmNlLT5y
ZXNwb25zZSgpLCByZXNvdXJjZS0+ZW5jb2RlZFNpemUoKSkpIHsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZExvYWRSZXNvdXJj
ZUZyb21NZW1vcnlDYWNoZShtX2RvY3VtZW50TG9hZGVyLmdldCgpLCByZXNvdXJjZSk7Ci0jZW5k
aWYKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZGlkVGVsbENsaWVudEFib3V0TG9hZChyZXNv
dXJjZS0+dXJsKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMzA0Myw3ICszMDQxLDgg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoY29uc3Qg
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcjsK
ICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwogICAgIHJlcXVlc3RGcm9tRGVsZWdhdGUocmVxdWVz
dCwgaWRlbnRpZmllciwgZXJyb3IpOwotICAgIG5vdGlmaWVyKCktPnNlbmRSZW1haW5pbmdEZWxl
Z2F0ZU1lc3NhZ2VzKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIGlkZW50aWZpZXIsIHJlc291cmNl
LT5yZXNwb25zZSgpLCByZXNvdXJjZS0+ZW5jb2RlZFNpemUoKSwgZXJyb3IpOworCisgICAgbm90
aWZpZXIoKS0+c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXNGb3JDYWNoZWRSZXNvdXJjZSht
X2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwg
cmVzb3VyY2UtPmVuY29kZWRTaXplKCksIGVycm9yKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
YXBwbHlVc2VyQWdlbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IGM0M2ExZGEuLmE5MjBlMWEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTE3NCw0ICsxNzQsMTkgQEAgdm9pZCBS
ZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMoRG9jdW1l
bnRMb2FkZXIqIGxvYWRlciwKICAgICAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5k
aXNwYXRjaERpZEZhaWxMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmllciwgZXJyb3IpOwogfQogCit2
b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpzZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlc0Zv
ckNhY2hlZFJlc291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGludCBsZW5ndGgsIGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQoreworICAgIEZyYW1lTG9hZGVyQ2xpZW50KiBjbGll
bnQgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCk7CisgICAgaWYgKCFyZXNwb25zZS5pc051
bGwoKSkKKyAgICAgICAgY2xpZW50LT5kaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShsb2FkZXIs
IGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKKworICAgIGlmIChsZW5ndGggPiAwKQorICAgICAgICBj
bGllbnQtPmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9hZGVyLCBpZGVudGlmaWVy
LCBsZW5ndGgpOworCisgICAgaWYgKGVycm9yLmlzTnVsbCgpKQorICAgICAgICBjbGllbnQtPmRp
c3BhdGNoRGlkRmluaXNoTG9hZGluZyhsb2FkZXIsIGlkZW50aWZpZXIpOworICAgIGVsc2UKKyAg
ICAgICAgY2xpZW50LT5kaXNwYXRjaERpZEZhaWxMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmllciwg
ZXJyb3IpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkTm90aWZpZXIuaAppbmRleCA3NThlNDE0Li5hY2E2NzNjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlz
cGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSk7CiAKICAgICB2b2lkIHNlbmRSZW1haW5pbmdEZWxl
Z2F0ZU1lc3NhZ2VzKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgaW50IGxlbmd0aCwgY29uc3QgUmVzb3VyY2VFcnJvciYp
OworICAgIHZvaWQgc2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXNGb3JDYWNoZWRSZXNvdXJj
ZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYsIGludCBsZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAogcHJpdmF0
ZToKICAgICBGcmFtZSogbV9mcmFtZTsK
</data>
<flag name="review"
          id="57335"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67908</attachid>
            <date>2010-09-17 07:26:54 -0700</date>
            <delta_ts>2010-09-17 08:38:29 -0700</delta_ts>
            <desc>[PATCH] Same with willSendRequest not being issued for cached resources.</desc>
            <filename>cached_loader</filename>
            <type>text/plain</type>
            <size>14702</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTEzODA3ZC4uYmE3NDUwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wOS0xNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBGcmFtZUxvYWRlcjo6bG9hZGVkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUgcmVwb3J0cworICAgICAgICByZXNvdXJjZSBhcyBub3QgY2Fj
aGVkIHRvIEluc3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIFRoZXJlIGlzIG9uZSBwYXRoIGlu
IGNvbnRyb2wgZmxvdyB0aGF0IGxlYWRzIHRvIHJlc291cmNlcyBiZWluZworICAgICAgICByZXBv
cnRlZCBhcyBub3QgY2FjaGVkLiBQYXRjaCB0byBmb2xsb3cuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTk2MQorCisgICAgICAgICogbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjp3aWxsTG9hZE1l
ZGlhRWxlbWVudFVSTCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tbWl0UHJv
dmlzaW9uYWxMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXF1ZXN0
RnJvbURlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkZWRSZXNv
dXJjZUZyb21NZW1vcnlDYWNoZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMp
OgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oOgorCiAyMDEwLTA5LTE2
ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAyZWM2ZjcyLi4w
NjkzZDM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xNTAxLDcgKzE1MDEsNyBAQCBib29s
IEZyYW1lTG9hZGVyOjp3aWxsTG9hZE1lZGlhRWxlbWVudFVSTChLVVJMJiB1cmwpCiAgICAgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyOwogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7CiAgICAgcmVx
dWVzdEZyb21EZWxlZ2F0ZShyZXF1ZXN0LCBpZGVudGlmaWVyLCBlcnJvcik7Ci0gICAgbm90aWZp
ZXIoKS0+c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQo
KSwgaWRlbnRpZmllciwgUmVzb3VyY2VSZXNwb25zZSh1cmwsIFN0cmluZygpLCAtMSwgU3RyaW5n
KCksIFN0cmluZygpKSwgLTEsIGVycm9yKTsKKyAgICBub3RpZmllcigpLT5zZW5kUmVtYWluaW5n
RGVsZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCBSZXNv
dXJjZVJlc3BvbnNlKHVybCwgU3RyaW5nKCksIC0xLCBTdHJpbmcoKSwgU3RyaW5nKCkpLCAtMSwg
ZXJyb3IsIGZhbHNlKTsKIAogICAgIHVybCA9IHJlcXVlc3QudXJsKCk7CiAKQEAgLTE4ODQsNyAr
MTg4NCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCgpCiAgICAg
ICAgICAgICAvLyBGSVhNRTogSWYgd2UgZ2V0IGEgcmVzb3VyY2Ugd2l0aCBtb3JlIHRoYW4gMkIg
Ynl0ZXMsIHRoaXMgY29kZSB3b24ndCBkbyB0aGUgcmlnaHQgdGhpbmcuCiAgICAgICAgICAgICAv
LyBIb3dldmVyLCB3aXRoIHRvZGF5J3MgY29tcHV0ZXJzIGFuZCBuZXR3b3JraW5nIHNwZWVkcywg
dGhpcyB3b24ndCBoYXBwZW4gaW4gcHJhY3RpY2UuCiAgICAgICAgICAgICAvLyBDb3VsZCBiZSBh
biBpc3N1ZSB3aXRoIGEgZ2lhbnQgbG9jYWwgZmlsZS4KLSAgICAgICAgICAgIG5vdGlmaWVyKCkt
PnNlbmRSZW1haW5pbmdEZWxlZ2F0ZU1lc3NhZ2VzKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIGlk
ZW50aWZpZXIsIHJlc3BvbnNlLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc3BvbnNlLmV4cGVjdGVkQ29u
dGVudExlbmd0aCgpKSwgZXJyb3IpOworICAgICAgICAgICAgbm90aWZpZXIoKS0+c2VuZFJlbWFp
bmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQoKSwgaWRlbnRpZmllciwg
cmVzcG9uc2UsIHN0YXRpY19jYXN0PGludD4ocmVzcG9uc2UuZXhwZWN0ZWRDb250ZW50TGVuZ3Ro
KCkpLCBlcnJvciwgZmFsc2UpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBwYWdlQ2Fj
aGUoKS0+cmVtb3ZlKGhpc3RvcnkoKS0+Y3VycmVudEl0ZW0oKSk7CkBAIC0yNzczLDcgKzI3NzMs
NyBAQCB1bnNpZ25lZCBsb25nIEZyYW1lTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdQogI2VuZGlmCiAgICAgfQogCi0gICAgbm90aWZp
ZXIoKS0+c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQo
KSwgaWRlbnRpZmllciwgcmVzcG9uc2UsIGRhdGEuc2l6ZSgpLCBlcnJvcik7CisgICAgbm90aWZp
ZXIoKS0+c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQo
KSwgaWRlbnRpZmllciwgcmVzcG9uc2UsIGRhdGEuc2l6ZSgpLCBlcnJvciwgZmFsc2UpOwogICAg
IHJldHVybiBpZGVudGlmaWVyOwogfQogCkBAIC0yOTk0LDYgKzI5OTQsMTEgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQb2xpY3koY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXMKIAogdm9pZCBGcmFtZUxvYWRlcjo6cmVxdWVzdEZyb21EZWxlZ2F0ZShS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHVuc2lnbmVkIGxvbmcmIGlkZW50aWZpZXIsIFJlc291
cmNlRXJyb3ImIGVycm9yKQogeworICAgIHJlcXVlc3RGcm9tRGVsZWdhdGUocmVxdWVzdCwgaWRl
bnRpZmllciwgZXJyb3IsIGZhbHNlKTsKK30KKwordm9pZCBGcmFtZUxvYWRlcjo6cmVxdWVzdEZy
b21EZWxlZ2F0ZShSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHVuc2lnbmVkIGxvbmcmIGlkZW50
aWZpZXIsIFJlc291cmNlRXJyb3ImIGVycm9yLCBib29sIG11dGVJbnNwZWN0b3IpCit7CiAgICAg
QVNTRVJUKCFyZXF1ZXN0LmlzTnVsbCgpKTsKIAogICAgIGlkZW50aWZpZXIgPSAwOwpAQCAtMzAw
Myw3ICszMDA4LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVxdWVzdEZyb21EZWxlZ2F0ZShSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIHVuc2lnbmVkIGxvbmcmIGkKICAgICB9CiAKICAgICBSZXNv
dXJjZVJlcXVlc3QgbmV3UmVxdWVzdChyZXF1ZXN0KTsKLSAgICBub3RpZmllcigpLT5kaXNwYXRj
aFdpbGxTZW5kUmVxdWVzdChtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCBuZXdS
ZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlKCkpOworICAgIG5vdGlmaWVyKCktPmRpc3BhdGNoV2ls
bFNlbmRSZXF1ZXN0KG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIGlkZW50aWZpZXIsIG5ld1JlcXVl
c3QsIFJlc291cmNlUmVzcG9uc2UoKSwgbXV0ZUluc3BlY3Rvcik7CiAKICAgICBpZiAobmV3UmVx
dWVzdC5pc051bGwoKSkKICAgICAgICAgZXJyb3IgPSBjYW5jZWxsZWRFcnJvcihyZXF1ZXN0KTsK
QEAgLTMwMjIsMTAgKzMwMjcsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZGVkUmVzb3VyY2VG
cm9tTWVtb3J5Q2FjaGUoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGlmICgh
cmVzb3VyY2UtPnNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSB8fCBtX2RvY3VtZW50TG9hZGVy
LT5oYXZlVG9sZENsaWVudEFib3V0TG9hZChyZXNvdXJjZS0+dXJsKCkpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoIXBhZ2UtPmFyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkKCkp
IHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9s
bGVyKCktPmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShtX2RvY3VtZW50TG9hZGVyLmdl
dCgpLCByZXNvdXJjZSk7CisgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRMb2Fk
UmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUobV9kb2N1bWVudExvYWRlci5nZXQoKSwgcmVzb3VyY2Up
OwogI2VuZGlmCisKKyAgICBpZiAoIXBhZ2UtPmFyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFi
bGVkKCkpIHsKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+cmVjb3JkTWVtb3J5Q2FjaGVMb2Fk
Rm9yRnV0dXJlQ2xpZW50Tm90aWZpY2F0aW9uKHJlc291cmNlLT51cmwoKSk7CiAgICAgICAgIG1f
ZG9jdW1lbnRMb2FkZXItPmRpZFRlbGxDbGllbnRBYm91dExvYWQocmVzb3VyY2UtPnVybCgpKTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtMzAzMywxNyArMzAzOSwxNCBAQCB2b2lkIEZyYW1lTG9hZGVy
Ojpsb2FkZWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChyZXNvdXJjZS0+dXJsKCkpOwog
ICAgIGlmIChtX2NsaWVudC0+ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
bV9kb2N1bWVudExvYWRlci5nZXQoKSwgcmVxdWVzdCwgcmVzb3VyY2UtPnJlc3BvbnNlKCksIHJl
c291cmNlLT5lbmNvZGVkU2l6ZSgpKSkgewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgICAg
IHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNh
Y2hlKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCksIHJlc291cmNlKTsKLSNlbmRpZgogICAgICAgICBt
X2RvY3VtZW50TG9hZGVyLT5kaWRUZWxsQ2xpZW50QWJvdXRMb2FkKHJlc291cmNlLT51cmwoKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXI7
CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKLSAgICByZXF1ZXN0RnJvbURlbGVnYXRlKHJlcXVl
c3QsIGlkZW50aWZpZXIsIGVycm9yKTsKLSAgICBub3RpZmllcigpLT5zZW5kUmVtYWluaW5nRGVs
ZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXNvdXJj
ZS0+cmVzcG9uc2UoKSwgcmVzb3VyY2UtPmVuY29kZWRTaXplKCksIGVycm9yKTsKKyAgICByZXF1
ZXN0RnJvbURlbGVnYXRlKHJlcXVlc3QsIGlkZW50aWZpZXIsIGVycm9yLCB0cnVlKTsKKyAgICBu
b3RpZmllcigpLT5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhtX2RvY3VtZW50TG9hZGVy
LmdldCgpLCBpZGVudGlmaWVyLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwgcmVzb3VyY2UtPmVuY29k
ZWRTaXplKCksIGVycm9yLCB0cnVlKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6YXBwbHlVc2Vy
QWdlbnQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNDBm
MzViZC4uMDg2Yjg2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC00MDcsNiArNDA3LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIHNob3VsZFJlbG9hZChjb25zdCBLVVJMJiBjdXJyZW50VVJMLCBjb25z
dCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7CiAKICAgICB2b2lkIHJlcXVlc3RGcm9tRGVsZWdhdGUo
UmVzb3VyY2VSZXF1ZXN0JiwgdW5zaWduZWQgbG9uZyYgaWRlbnRpZmllciwgUmVzb3VyY2VFcnJv
ciYpOworICAgIHZvaWQgcmVxdWVzdEZyb21EZWxlZ2F0ZShSZXNvdXJjZVJlcXVlc3QmLCB1bnNp
Z25lZCBsb25nJiBpZGVudGlmaWVyLCBSZXNvdXJjZUVycm9yJiwgYm9vbCBtdXRlSW5zcGVjdG9y
KTsKIAogICAgIHZvaWQgcmVjdXJzaXZlQ2hlY2tMb2FkQ29tcGxldGUoKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IGM0M2ExZGEuLjNkZDZlNTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgdm9p
ZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlTG9hZGVyKiBs
b2FkZXIsIFJlc291cmNlUmVxdWUKIHsKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+YXBwbHlVc2Vy
QWdlbnQoY2xpZW50UmVxdWVzdCk7CiAKLSAgICBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChsb2Fk
ZXItPmRvY3VtZW50TG9hZGVyKCksIGxvYWRlci0+aWRlbnRpZmllcigpLCBjbGllbnRSZXF1ZXN0
LCByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChsb2FkZXIt
PmRvY3VtZW50TG9hZGVyKCksIGxvYWRlci0+aWRlbnRpZmllcigpLCBjbGllbnRSZXF1ZXN0LCBy
ZWRpcmVjdFJlc3BvbnNlLCBmYWxzZSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6
OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByKQpAQCAtNzEsNyArNzEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVy
OjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzbwog
ICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQogICAgICAgICBwYWdlLT5wcm9n
cmVzcygpLT5pbmNyZW1lbnRQcm9ncmVzcyhsb2FkZXItPmlkZW50aWZpZXIoKSwgcik7CiAKLSAg
ICBkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShsb2FkZXItPmRvY3VtZW50TG9hZGVyKCksIGxv
YWRlci0+aWRlbnRpZmllcigpLCByKTsKKyAgICBkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShs
b2FkZXItPmRvY3VtZW50TG9hZGVyKCksIGxvYWRlci0+aWRlbnRpZmllcigpLCByLCBmYWxzZSk7
CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZFJlY2VpdmVEYXRhKFJlc291cmNl
TG9hZGVyKiBsb2FkZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgsIGludCBsZW5ndGhS
ZWNlaXZlZCkKQEAgLTc5LDE0ICs3OSwxNCBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpk
aWRSZWNlaXZlRGF0YShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBjaGFyKiBkYQogICAg
IGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQogICAgICAgICBwYWdlLT5wcm9ncmVz
cygpLT5pbmNyZW1lbnRQcm9ncmVzcyhsb2FkZXItPmlkZW50aWZpZXIoKSwgZGF0YSwgbGVuZ3Ro
KTsKIAotICAgIGRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9hZGVyLT5kb2N1bWVu
dExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgbGVuZ3RoUmVjZWl2ZWQpOworICAgIGRp
c3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCBs
b2FkZXItPmlkZW50aWZpZXIoKSwgbGVuZ3RoUmVjZWl2ZWQsIGZhbHNlKTsKIH0KIAogdm9pZCBS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlkRmluaXNoTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVy
LCBkb3VibGUgZmluaXNoVGltZSkKIHsgICAgCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1l
LT5wYWdlKCkpCiAgICAgICAgIHBhZ2UtPnByb2dyZXNzKCktPmNvbXBsZXRlUHJvZ3Jlc3MobG9h
ZGVyLT5pZGVudGlmaWVyKCkpOwotICAgIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhsb2FkZXIt
PmRvY3VtZW50TG9hZGVyKCksIGxvYWRlci0+aWRlbnRpZmllcigpLCBmaW5pc2hUaW1lKTsKKyAg
ICBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcobG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2Fk
ZXItPmlkZW50aWZpZXIoKSwgZmluaXNoVGltZSwgZmFsc2UpOwogfQogCiB2b2lkIFJlc291cmNl
TG9hZE5vdGlmaWVyOjpkaWRGYWlsVG9Mb2FkKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0
IFJlc291cmNlRXJyb3ImIGVycm9yKQpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgUmVzb3VyY2VM
b2FkTm90aWZpZXI6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcgaWRlbnRpCiAjZW5kaWYKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0
Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlZGlyZWN0UmVzcG9uc2UpCit2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRj
aFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVkaXJlY3RSZXNwb25zZSwgYm9vbCBtdXRlSW5zcGVjdG9yKQogewogICAgIFN0cmluZ0lt
cGwqIG9sZFJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgpLnN0cmluZygpLmltcGwoKTsKICAgICBt
X2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+ZGlkVGVsbENsaWVudEFib3V0TG9h
ZChyZXF1ZXN0LnVybCgpKTsKQEAgLTEyNSw1MSArMTI1LDU5IEBAIHZvaWQgUmVzb3VyY2VMb2Fk
Tm90aWZpZXI6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIs
IHVuc2lnCiAgICAgICAgIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5kaWRU
ZWxsQ2xpZW50QWJvdXRMb2FkKHJlcXVlc3QudXJsKCkpOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKLSAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2VuZFJlcXVlc3QoaWRlbnRpZmllciwgcmVxdWVz
dCwgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgaWYgKCFtdXRlSW5zcGVjdG9yKSB7CisgICAgICAg
IGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgcGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2VuZFJlcXVlc3QoaWRlbnRpZmllciwgcmVxdWVzdCwg
cmVkaXJlY3RSZXNwb25zZSk7CisgICAgfQogI2VuZGlmCiB9CiAKLXZvaWQgUmVzb3VyY2VMb2Fk
Tm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikK
K3ZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKERv
Y3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgciwgYm9vbCBtdXRlSW5zcGVjdG9yKQogewogICAgIG1fZnJhbWUtPmxv
YWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UobG9hZGVyLCBpZGVu
dGlmaWVyLCByKTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBtX2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+
ZGlkUmVjZWl2ZVJlc3BvbnNlKGlkZW50aWZpZXIsIHIpOworICAgIGlmICghbXV0ZUluc3BlY3Rv
cikgeworICAgICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAg
ICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKGlkZW50
aWZpZXIsIHIpOworICAgIH0KICNlbmRpZgogfQogCi12b2lkIFJlc291cmNlTG9hZE5vdGlmaWVy
OjpkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiBsb2FkZXIs
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aCkKK3ZvaWQgUmVzb3VyY2VMb2Fk
Tm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoRG9jdW1lbnRMb2FkZXIq
IGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoLCBib29sIG11dGVJ
bnNwZWN0b3IpCiB7CiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaXNwYXRjaERp
ZFJlY2VpdmVDb250ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwgbGVuZ3RoKTsKIAogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkp
Ci0gICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkUmVjZWl2ZUNvbnRlbnRM
ZW5ndGgoaWRlbnRpZmllciwgbGVuZ3RoKTsKKyAgICBpZiAoIW11dGVJbnNwZWN0b3IpIHsKKyAg
ICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpCisgICAgICAgICAgICBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGlkZW50aWZp
ZXIsIGxlbmd0aCk7CisgICAgfQogI2VuZGlmCiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkTm90aWZp
ZXI6OmRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKQordm9pZCBSZXNvdXJjZUxv
YWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUsIGJvb2wgbXV0
ZUluc3BlY3RvcikKIHsKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNo
RGlkRmluaXNoTG9hZGluZyhsb2FkZXIsIGlkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKLSAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFn
ZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50aWZpZXIsIGZp
bmlzaFRpbWUpOworICAgIGlmICghbXV0ZUluc3BlY3RvcikgeworICAgICAgICBpZiAoUGFnZSog
cGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKS0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCBmaW5pc2hUaW1lKTsKKyAgICB9
CiAjZW5kaWYKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0Rl
bGVnYXRlTWVzc2FnZXMoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgaW50IGxlbmd0aCwgY29u
c3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpzZW5k
UmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBpbnQg
bGVuZ3RoLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgYm9vbCBtdXRlSW5zcGVjdG9yKQog
ewogICAgIGlmICghcmVzcG9uc2UuaXNOdWxsKCkpCi0gICAgICAgIGRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKGxvYWRlciwgaWRlbnRpZmllciwgcmVzcG9uc2UpOworICAgICAgICBkaXNwYXRj
aERpZFJlY2VpdmVSZXNwb25zZShsb2FkZXIsIGlkZW50aWZpZXIsIHJlc3BvbnNlLCBtdXRlSW5z
cGVjdG9yKTsKIAogICAgIGlmIChsZW5ndGggPiAwKQotICAgICAgICBkaXNwYXRjaERpZFJlY2Vp
dmVDb250ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwgbGVuZ3RoKTsKKyAgICAgICAgZGlz
cGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aChsb2FkZXIsIGlkZW50aWZpZXIsIGxlbmd0aCwg
bXV0ZUluc3BlY3Rvcik7CiAKICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCi0gICAgICAgIGRpc3Bh
dGNoRGlkRmluaXNoTG9hZGluZyhsb2FkZXIsIGlkZW50aWZpZXIsIDApOworICAgICAgICBkaXNw
YXRjaERpZEZpbmlzaExvYWRpbmcobG9hZGVyLCBpZGVudGlmaWVyLCAwLCBtdXRlSW5zcGVjdG9y
KTsKICAgICBlbHNlCiAgICAgICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0
Y2hEaWRGYWlsTG9hZGluZyhsb2FkZXIsIGlkZW50aWZpZXIsIGVycm9yKTsKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmggYi9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDc1OGU0MTQuLjY1YWJjNzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApAQCAtNTcsMTIgKzU3LDEyIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBSZXNvdXJjZUVy
cm9yJik7CiAKICAgICB2b2lkIGFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmKTsKLSAgICB2b2lkIGRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50
TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVu
Z3RoKTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOworICAgIHZvaWQg
ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGly
ZWN0UmVzcG9uc2UsIGJvb2wgbXV0ZUluc3BlY3Rvcik7CisgICAgdm9pZCBkaXNwYXRjaERpZFJl
Y2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGJvb2wgbXV0ZUluc3BlY3Rvcik7CisgICAgdm9pZCBk
aXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoLCBib29sIG11dGVJbnNwZWN0b3IpOworICAgIHZv
aWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBkb3VibGUgZmluaXNoVGltZSwgYm9vbCBtdXRlSW5zcGVjdG9yKTsKIAot
ICAgIHZvaWQgc2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMoRG9jdW1lbnRMb2FkZXIqLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBpbnQgbGVu
Z3RoLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CisgICAgdm9pZCBzZW5kUmVtYWluaW5nRGVsZWdh
dGVNZXNzYWdlcyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCBsZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImLCBi
b29sIG11dGVJbnNwZWN0b3IpOwogCiBwcml2YXRlOgogICAgIEZyYW1lKiBtX2ZyYW1lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67909</attachid>
            <date>2010-09-17 08:38:29 -0700</date>
            <delta_ts>2010-09-17 08:42:59 -0700</delta_ts>
            <desc>[PATCH] Simpler solution.</desc>
            <filename>cached_resource</filename>
            <type>text/plain</type>
            <size>4914</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTEzODA3ZC4uZTdiMzYwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wOS0xNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBGcmFtZUxvYWRlcjo6bG9hZGVkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUgcmVwb3J0cworICAgICAgICByZXNvdXJjZSBhcyBub3QgY2Fj
aGVkIHRvIEluc3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTk2MQorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZyYW1l
TG9hZGVyOjpsb2FkZWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZSByZXBvcnRzCisgICAgICAgIHJl
c291cmNlIGFzIG5vdCBjYWNoZWQgdG8gSW5zcGVjdG9yQ29udHJvbGxlci4KKyAgICAgICAgVGhl
cmUgaXMgb25lIHBhdGggaW4gY29udHJvbCBmbG93IHRoYXQgbGVhZHMgdG8gcmVzb3VyY2VzIGJl
aW5nCisgICAgICAgIHJlcG9ydGVkIGFzIG5vdCBjYWNoZWQuIFBhdGNoIHRvIGZvbGxvdy4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNv
dXJjZTo6bWFya0FzQ2FjaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNl
Ojp1cGRhdGVSZXNwb25zZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
Lmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpsb2FkZWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZSk6CisKIDIwMTAtMDkt
MTYgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEuYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcAppbmRleCBhOWVmMjYxLi45MDI4MGZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTAwNiw2ICsxMDA2LDE1IEBAIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVz
b3VyY2VSZXF1CiAgICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9mcm9udGVu
ZC5nZXQoKSk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bWFya1Jlc291cmNlQXND
YWNoZWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQoreworICAgIGlmICghZW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAoUmVmUHRyPEluc3BlY3RvclJlc291cmNlPiByZXNv
dXJjZSA9IGdldFRyYWNrZWRSZXNvdXJjZShpZGVudGlmaWVyKSkKKyAgICAgICAgcmVzb3VyY2Ut
Pm1hcmtBc0NhY2hlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogewogICAgIGlmICghZW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDM1YWFlODkuLjFlYmVkOTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9p
ZCB3aWxsU2VuZFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICB2b2lk
IG1hcmtSZXNvdXJjZUFzQ2FjaGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CiAgICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCk7CiAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCmluZGV4IDgxNGVlNTUuLmFjMmM5
YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKQEAgLTE2MSw2ICsx
NjEsMTEgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZTo6dXBkYXRlUmVxdWVzdChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAgICAgbV9jaGFuZ2VzLnNldChSZXF1ZXN0Q2hhbmdlKTsK
IH0KIAordm9pZCBJbnNwZWN0b3JSZXNvdXJjZTo6bWFya0FzQ2FjaGVkKCkKK3sKKyAgICBtX2Nh
Y2hlZCA9IHRydWU7Cit9CisKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNl
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIG1fZXhwZWN0ZWRDb250
ZW50TGVuZ3RoID0gcmVzcG9uc2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CkBAIC0xNzgsNyAr
MTgzLDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZTo6dXBkYXRlUmVzcG9uc2UoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgbV9jb25uZWN0aW9uSUQgPSByZXNwb25zZS5j
b25uZWN0aW9uSUQoKTsKICAgICBtX2Nvbm5lY3Rpb25SZXVzZWQgPSByZXNwb25zZS5jb25uZWN0
aW9uUmV1c2VkKCk7CiAgICAgbV9sb2FkVGltaW5nID0gcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCk7Ci0gICAgbV9jYWNoZWQgPSByZXNwb25zZS53YXNDYWNoZWQoKTsKKyAgICBtX2NhY2hl
ZCA9IG1fY2FjaGVkIHx8IHJlc3BvbnNlLndhc0NhY2hlZCgpOwogCiAgICAgaWYgKCFtX2NhY2hl
ZCAmJiBtX2xvYWRUaW1pbmcgJiYgbV9sb2FkVGltaW5nLT5yZXF1ZXN0VGltZSkKICAgICAgICAg
bV9yZXNwb25zZVJlY2VpdmVkVGltZSA9IG1fbG9hZFRpbWluZy0+cmVxdWVzdFRpbWUgKyBtX2xv
YWRUaW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kIC8gMTAwMC4wOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlLmgKaW5kZXggOGEyMDdiMC4uOTE0MjMyZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZS5oCkBAIC05MCw2ICs5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZWxlYXNlU2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250ZW5kKiBmcm9u
dGVuZCk7CiAKICAgICAgICAgdm9pZCB1cGRhdGVSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVz
dCYpOworICAgICAgICB2b2lkIG1hcmtBc0NhY2hlZCgpOwogICAgICAgICB2b2lkIHVwZGF0ZVJl
c3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKIAogI2lmIEVOQUJMRShXRUJfU09DS0VU
UykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAyZWM2ZjcyLi4wNDViOTZiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCkBAIC0zMDQzLDYgKzMwNDMsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
ZWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2Up
CiAgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyOwogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7
CiAgICAgcmVxdWVzdEZyb21EZWxlZ2F0ZShyZXF1ZXN0LCBpZGVudGlmaWVyLCBlcnJvcik7Cisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPm1h
cmtSZXNvdXJjZUFzQ2FjaGVkKGlkZW50aWZpZXIpOworI2VuZGlmCiAgICAgbm90aWZpZXIoKS0+
c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMobV9kb2N1bWVudExvYWRlci5nZXQoKSwgaWRl
bnRpZmllciwgcmVzb3VyY2UtPnJlc3BvbnNlKCksIHJlc291cmNlLT5lbmNvZGVkU2l6ZSgpLCBl
cnJvcik7CiB9CiAK
</data>
<flag name="review"
          id="57338"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>