<?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>31751</bug_id>
          
          <creation_ts>2009-11-20 16:09:53 -0800</creation_ts>
          <short_desc>DocumentMarkers need to be educated about transforms</short_desc>
          <delta_ts>2009-11-23 15:31:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165489</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-20 16:09:53 -0800</bug_when>
    <thetext>The DocumentMarkers code in Document.cpp assumes that everything is painted into the root. It needs to be educated about compositing layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165529</commentid>
    <comment_count>1</comment_count>
      <attachid>43633</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-20 17:26:11 -0800</bug_when>
    <thetext>Created attachment 43633
Testcase with 2D transform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165906</commentid>
    <comment_count>2</comment_count>
      <attachid>43726</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-23 13:05:21 -0800</bug_when>
    <thetext>Created attachment 43726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165941</commentid>
    <comment_count>3</comment_count>
      <attachid>43726</attachid>
    <who name="">mitz</who>
    <bug_when>2009-11-23 14:39:53 -0800</bug_when>
    <thetext>Comment on attachment 43726
Patch

r=me (made some comments in person, and I’m told there will be a test :) )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165952</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-23 15:31:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/51324</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>43633</attachid>
            <date>2009-11-20 17:26:11 -0800</date>
            <delta_ts>2009-11-20 17:26:11 -0800</delta_ts>
            <desc>Testcase with 2D transform</desc>
            <filename>find-in-layer.html</filename>
            <type>text/html</type>
            <size>1594</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KICA8dGl0bGU+RmluZCBpbiBsYXllcjwvdGl0bGU+
CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KICAgIGJvZHkgewogICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQogICAg
LmNvbnRhaW5lciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwogICAgICBtYXJnaW46
IDUwcHg7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIHdpZHRoOiA4MCU7CiAgICAgIGZvbnQt
c2l6ZTogMTIwJTsKLyogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsqLwog
ICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgfQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJjb250YWluZXIiPgo8cD5Mb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0g
YWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3Jp
cyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVy
ZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBk
b2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBj
dXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50
IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLjwvcD4KPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBv
ciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFk
IG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMg
bmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUg
ZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9s
b3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3Vw
aWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBt
b2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS48L3A+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43726</attachid>
            <date>2009-11-23 13:05:21 -0800</date>
            <delta_ts>2009-11-23 14:39:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>31751_patch.txt</filename>
            <type>text/plain</type>
            <size>19529</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjlkODhlYS4uMTgwZTRkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAorMjAwOS0xMS0yMyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEb2N1bWVudE1hcmtlcnMgbmVlZCB0byBiZSBlZHVjYXRlZCBh
Ym91dCB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTc1MQorICAgICAgICAKKyAgICAgICAgRmluZCBoaWdobGlnaHQgaXMgaW5jb3Jy
ZWN0IHdpdGggdHJhbnNmb3JtcworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM1ODM5ND4KKwor
ICAgICAgICBBbGxvdyBjYWxsZXJzIHRvIHNwZWNpZnkgdGhhdCBGcmFtZTo6c2VsZWN0aW9uVGV4
dFJlY3RzKCkgdGFrZXMgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQKKyAgICAgICAgd2hlbiBjb21w
dXRpbmcgdGhlIHNldCBvZiByZWN0cyB0aGF0IGVuY29tcGFzcyBhIHNlbGVjdGlvbi4gRm9yIHRy
YW5zZm9ybWVkIGVsZW1lbmV0cywgdGhlCisgICAgICAgIHNlbGVjdGlvbiByZWN0IHdpbGwgYmUg
dGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgc2VsZWN0ZWQgY29udGVudC4KKyAgICAgICAgCisgICAg
ICAgIEZpeCBEb2N1bWVudE1hcmtlcnMgdG8gY2FjaGUgcmVjdHMgaW4gYWJzb2x1dGUgY29vcmRp
bmF0ZXMsIHJhdGhlciB0aGFuIHBhaW50aW5nIGNvb3JkaW5hdGVzLgorICAgICAgICAKKyAgICAg
ICAgTm90IHRlc3RhYmxlIHZpYSBEUlQuCisgICAgICAgIAorICAgICAgICAqIFdlYkNvcmUuYmFz
ZS5leHA6CisgICAgICAgIEZyYW1lOjpzZWxlY3Rpb25UZXh0UmVjdHMoKSBoYXMgYSBuZXcgcGFy
YW1ldGVyLgorICAgICAgICAKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnNldFJlbmRlcmVkUmVjdEZvck1hcmtlcik6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIFBhc3MgdGhlIG1hcmtlciBhcyBhIGNvbnN0IHJlZmVy
ZW5jZS4KKyAgICAgICAgCisgICAgICAgICogZG9tL1JhbmdlLmg6CisgICAgICAgICogZG9tL1Jh
bmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjp0ZXh0UXVhZHMpOgorICAgICAgICBB
ZGQgYSBuZXcgbWV0aG9kLCB0ZXh0UXVhZHMoKSwgd2hpY2ggcmV0dXJucyBhIGxpc3Qgb2YgcXVh
ZHMsIHJlc3BlY3RpbmcgdHJhbnNmb3Jtcy4KKyAgICAgICAgCisgICAgICAgICogcGFnZS9GcmFt
ZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6
OnNlbGVjdGlvblRleHRSZWN0cyk6CisgICAgICAgIEFkZCBhIG5ldyBwYXJhbWV0ZXIsIHJlc3Bl
Y3RUcmFuc2Zvcm1zLCBhbmQgd2hlbiB0aGF0IGlzIFJlc3BlY3RUcmFuc2Zvcm1zLCB1c2UgdGhl
IHF1YWQKKyAgICAgICAgbWV0aG9kIHRvIGdldCBxdWFkcyBmb3IgcmFuZ2VzLCBhbmQgdGhlbiB0
YWtlIHRoZWlyIGJvdW5kaW5nIGJveGVzLgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1l
bnRNYXJrZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVu
dE1hcmtlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6dGV4dFBvcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpvZmZzZXRGb3JQb3NpdGlvbik6CisgICAg
ICAgIAorICAgICAgICBQYXNzIERvY3VtZW50TWFya2VycyBhcyBhIGNvbnN0IHJlZmVyZW5jZXMu
CisgICAgICAgIENvbnZlcnQgdGhlIGFyZ3VtZW50IHRvIHNldFJlbmRlcmVkUmVjdEZvck1hcmtl
cigpIGludG8gYWJzb2x1dGUgY29vcmRpbmF0ZXMuCisgICAgICAgIAorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNlbGVj
dGlvbkJvdW5kcyk6CisKIDIwMDktMTEtMjAgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2Vu
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwIGIvV2ViQ29yZS9XZWJDb3Jl
LmJhc2UuZXhwCmluZGV4IDNhZWFmMDcuLmZhYzRiODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS5iYXNlLmV4cAorKysgYi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKQEAgLTg5Niw3ICs4
OTYsNyBAQCBfX1pOSzdXZWJDb3JlNUZyYW1lMTVzZWxlY3Rpb25Cb3VuZHNFYgogX19aTks3V2Vi
Q29yZTVGcmFtZTE2aW5WaWV3U291cmNlTW9kZUV2CiBfX1pOSzdXZWJDb3JlNUZyYW1lMTdmaXJz
dFJlY3RGb3JSYW5nZUVQTlNfNVJhbmdlRQogX19aTks3V2ViQ29yZTVGcmFtZTE4ZG9jdW1lbnRU
eXBlU3RyaW5nRXYKLV9fWk5LN1dlYkNvcmU1RnJhbWUxOHNlbGVjdGlvblRleHRSZWN0c0VSTjNX
VEY2VmVjdG9ySU5TXzlGbG9hdFJlY3RFTG0wRUVFYgorX19aTks3V2ViQ29yZTVGcmFtZTE4c2Vs
ZWN0aW9uVGV4dFJlY3RzRVJOM1dURjZWZWN0b3JJTlNfOUZsb2F0UmVjdEVMbTBFRUViYgogX19a
Tks3V2ViQ29yZTVGcmFtZTIwc2VsZWN0aW9uR3JhbnVsYXJpdHlFdgogX19aTks3V2ViQ29yZTVG
cmFtZTMwYXBwbHlFZGl0aW5nU3R5bGVUb0JvZHlFbGVtZW50RXYKIF9fWk5LN1dlYkNvcmU1RnJh
bWUzMWZvbnRBdHRyaWJ1dGVzRm9yU2VsZWN0aW9uU3RhcnRFdgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDZiMTg2
MDMuLmRhNjA4ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM3MzUsNyArMzczNSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnJlcGFpbnRNYXJrZXJzKERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlIG1hcmtlclR5cGUp
CiAgICAgfQogfQogCi12b2lkIERvY3VtZW50OjpzZXRSZW5kZXJlZFJlY3RGb3JNYXJrZXIoTm9k
ZSogbm9kZSwgRG9jdW1lbnRNYXJrZXIgbWFya2VyLCBjb25zdCBJbnRSZWN0JiByKQordm9pZCBE
b2N1bWVudDo6c2V0UmVuZGVyZWRSZWN0Rm9yTWFya2VyKE5vZGUqIG5vZGUsIGNvbnN0IERvY3Vt
ZW50TWFya2VyJiBtYXJrZXIsIGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgTWFya2VyTWFwVmVj
dG9yUGFpciogdmVjdG9yUGFpciA9IG1fbWFya2Vycy5nZXQobm9kZSk7CiAgICAgaWYgKCF2ZWN0
b3JQYWlyKSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCAzMjk1NTc3Li5lNWI5ODRjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTczMCw3ICs3
MzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVNYXJrZXJzKERvY3VtZW50TWFya2VyOjpN
YXJrZXJUeXBlID0gRG9jdW1lbnRNYXJrZXI6OkFsbE1hcmtlcnMpOwogICAgIHZvaWQgcmVtb3Zl
TWFya2VycyhOb2RlKik7CiAgICAgdm9pZCByZXBhaW50TWFya2VycyhEb2N1bWVudE1hcmtlcjo6
TWFya2VyVHlwZSA9IERvY3VtZW50TWFya2VyOjpBbGxNYXJrZXJzKTsKLSAgICB2b2lkIHNldFJl
bmRlcmVkUmVjdEZvck1hcmtlcihOb2RlKiwgRG9jdW1lbnRNYXJrZXIsIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2b2lkIHNldFJlbmRlcmVkUmVjdEZvck1hcmtlcihOb2RlKiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdm9pZCBpbnZhbGlkYXRlUmVuZGVyZWRS
ZWN0c0Zvck1hcmtlcnNJblJlY3QoY29uc3QgSW50UmVjdCYpOwogICAgIHZvaWQgc2hpZnRNYXJr
ZXJzKE5vZGUqLCB1bnNpZ25lZCBzdGFydE9mZnNldCwgaW50IGRlbHRhLCBEb2N1bWVudE1hcmtl
cjo6TWFya2VyVHlwZSA9IERvY3VtZW50TWFya2VyOjpBbGxNYXJrZXJzKTsKICAgICB2b2lkIHNl
dE1hcmtlcnNBY3RpdmUoUmFuZ2UqLCBib29sKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1Jh
bmdlLmNwcCBiL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAppbmRleCAxMjIxMzBkLi40YzI3OTJkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKKysrIGIvV2ViQ29yZS9kb20vUmFuZ2Uu
Y3BwCkBAIC0xNjEzLDYgKzE2MTMsMjYgQEAgdm9pZCBSYW5nZTo6dGV4dFJlY3RzKFZlY3RvcjxJ
bnRSZWN0PiYgcmVjdHMsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0KQogICAgIH0KIH0KIAordm9p
ZCBSYW5nZTo6dGV4dFF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywgYm9vbCB1c2VTZWxl
Y3Rpb25IZWlnaHQpCit7CisgICAgaWYgKCFtX3N0YXJ0LmNvbnRhaW5lcigpIHx8ICFtX2VuZC5j
b250YWluZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTm9kZSogc3RhcnRDb250YWluZXIg
PSBtX3N0YXJ0LmNvbnRhaW5lcigpOworICAgIE5vZGUqIGVuZENvbnRhaW5lciA9IG1fZW5kLmNv
bnRhaW5lcigpOworCisgICAgTm9kZSogc3RvcE5vZGUgPSBwYXN0TGFzdE5vZGUoKTsKKyAgICBm
b3IgKE5vZGUqIG5vZGUgPSBmaXJzdE5vZGUoKTsgbm9kZSAhPSBzdG9wTm9kZTsgbm9kZSA9IG5v
ZGUtPnRyYXZlcnNlTmV4dE5vZGUoKSkgeworICAgICAgICBSZW5kZXJPYmplY3QqIHIgPSBub2Rl
LT5yZW5kZXJlcigpOworICAgICAgICBpZiAoIXIgfHwgIXItPmlzVGV4dCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIFJlbmRlclRleHQqIHJlbmRlclRleHQgPSB0b1JlbmRlclRl
eHQocik7CisgICAgICAgIGludCBzdGFydE9mZnNldCA9IG5vZGUgPT0gc3RhcnRDb250YWluZXIg
PyBtX3N0YXJ0Lm9mZnNldCgpIDogMDsKKyAgICAgICAgaW50IGVuZE9mZnNldCA9IG5vZGUgPT0g
ZW5kQ29udGFpbmVyID8gbV9lbmQub2Zmc2V0KCkgOiBJTlRfTUFYOworICAgICAgICByZW5kZXJU
ZXh0LT5hYnNvbHV0ZVF1YWRzRm9yUmFuZ2UocXVhZHMsIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQs
IHVzZVNlbGVjdGlvbkhlaWdodCk7CisgICAgfQorfQorCiAjaWZuZGVmIE5ERUJVRwogI2RlZmlu
ZSBGb3JtYXRCdWZmZXJTaXplIDEwMjQKIHZvaWQgUmFuZ2U6OmZvcm1hdEZvckRlYnVnZ2VyKGNo
YXIqIGJ1ZmZlciwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vUmFuZ2UuaCBiL1dlYkNvcmUvZG9tL1JhbmdlLmgKaW5kZXggZTJlMjgyYi4uNTgzZjlmMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUmFuZ2UuaAorKysgYi9XZWJDb3JlL2RvbS9SYW5nZS5o
CkBAIC0xMDUsNyArMTA1LDEwIEBAIHB1YmxpYzoKICAgICBOb2RlKiBzaGFkb3dUcmVlUm9vdE5v
ZGUoKSBjb25zdDsKIAogICAgIEludFJlY3QgYm91bmRpbmdCb3goKTsKKyAgICAvLyBOb3QgdHJh
bnNmb3JtLWZyaWVuZGx5CiAgICAgdm9pZCB0ZXh0UmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgYm9v
bCB1c2VTZWxlY3Rpb25IZWlnaHQgPSBmYWxzZSk7CisgICAgLy8gVHJhbnNmb3JtLWZyaWVuZGx5
CisgICAgdm9pZCB0ZXh0UXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sIHVzZVNlbGVjdGlv
bkhlaWdodCA9IGZhbHNlKTsKIAogICAgIHZvaWQgbm9kZUNoaWxkcmVuQ2hhbmdlZChDb250YWlu
ZXJOb2RlKik7CiAgICAgdm9pZCBub2RlV2lsbEJlUmVtb3ZlZChOb2RlKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBk
NzNiNTZmLi5jNDQwNTE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTEyNjYsNyArMTI2Niw3IEBAIEZsb2F0UmVjdCBG
cmFtZTo6c2VsZWN0aW9uQm91bmRzKGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpIGNvbnN0CiAg
ICAgcmV0dXJuIGNsaXBUb1Zpc2libGVDb250ZW50ID8gaW50ZXJzZWN0aW9uKHNlbGVjdGlvblJl
Y3QsIHZpZXctPnZpc2libGVDb250ZW50UmVjdCgpKSA6IHNlbGVjdGlvblJlY3Q7CiB9CiAKLXZv
aWQgRnJhbWU6OnNlbGVjdGlvblRleHRSZWN0cyhWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMsIGJv
b2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQpIGNvbnN0Cit2b2lkIEZyYW1lOjpzZWxlY3Rpb25UZXh0
UmVjdHMoVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzLCBib29sIHJlc3BlY3RUcmFuc2Zvcm1zLCBi
b29sIGNsaXBUb1Zpc2libGVDb250ZW50KSBjb25zdAogewogICAgIFJlbmRlclZpZXcqIHJvb3Qg
PSBjb250ZW50UmVuZGVyZXIoKTsKICAgICBpZiAoIXJvb3QpCkBAIC0xMjc0LDE4ICsxMjc0LDM0
IEBAIHZvaWQgRnJhbWU6OnNlbGVjdGlvblRleHRSZWN0cyhWZWN0b3I8RmxvYXRSZWN0PiYgcmVj
dHMsIGJvb2wgY2xpcFRvVmlzaWJsZUNvbnRlCiAKICAgICBSZWZQdHI8UmFuZ2U+IHNlbGVjdGVk
UmFuZ2UgPSBzZWxlY3Rpb24oKS0+dG9Ob3JtYWxpemVkUmFuZ2UoKTsKIAotICAgIFZlY3RvcjxJ
bnRSZWN0PiBpbnRSZWN0czsKLSAgICBzZWxlY3RlZFJhbmdlLT50ZXh0UmVjdHMoaW50UmVjdHMs
IHRydWUpOwotCi0gICAgdW5zaWduZWQgc2l6ZSA9IGludFJlY3RzLnNpemUoKTsKICAgICBGbG9h
dFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0ID0gbV92aWV3LT52aXNpYmxlQ29udGVudFJlY3QoKTsK
LSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBpZiAoY2xp
cFRvVmlzaWJsZUNvbnRlbnQpCi0gICAgICAgICAgICByZWN0cy5hcHBlbmQoaW50ZXJzZWN0aW9u
KGludFJlY3RzW2ldLCB2aXNpYmxlQ29udGVudFJlY3QpKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgcmVjdHMuYXBwZW5kKGludFJlY3RzW2ldKTsKLX0KIAorICAgIGlmIChyZXNwZWN0VHJh
bnNmb3JtcykgeworICAgICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKKyAgICAgICAgc2Vs
ZWN0ZWRSYW5nZS0+dGV4dFF1YWRzKHF1YWRzLCB0cnVlKTsKKworICAgICAgICB1bnNpZ25lZCBz
aXplID0gcXVhZHMuc2l6ZSgpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6
ZTsgKytpKSB7CisgICAgICAgICAgICBJbnRSZWN0IGN1cnJSZWN0ID0gcXVhZHNbaV0uZW5jbG9z
aW5nQm91bmRpbmdCb3goKTsKKyAgICAgICAgICAgIGlmIChjbGlwVG9WaXNpYmxlQ29udGVudCkK
KyAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQoaW50ZXJzZWN0aW9uKGN1cnJSZWN0LCB2aXNp
YmxlQ29udGVudFJlY3QpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZWN0
cy5hcHBlbmQoY3VyclJlY3QpOworICAgICAgICB9CisKKyAgICB9IGVsc2UgeworICAgICAgICBW
ZWN0b3I8SW50UmVjdD4gaW50UmVjdHM7CisgICAgICAgIHNlbGVjdGVkUmFuZ2UtPnRleHRSZWN0
cyhpbnRSZWN0cywgdHJ1ZSk7CisKKyAgICAgICAgdW5zaWduZWQgc2l6ZSA9IGludFJlY3RzLnNp
emUoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAg
ICAgICAgICAgaWYgKGNsaXBUb1Zpc2libGVDb250ZW50KQorICAgICAgICAgICAgICAgIHJlY3Rz
LmFwcGVuZChpbnRlcnNlY3Rpb24oaW50UmVjdHNbaV0sIHZpc2libGVDb250ZW50UmVjdCkpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChpbnRSZWN0c1tp
XSk7CisgICAgICAgIH0KKyAgICB9Cit9CiAKIC8vIFNjYW5zIGxvZ2ljYWxseSBmb3J3YXJkIGZy
b20gInN0YXJ0IiwgaW5jbHVkaW5nIGFueSBjaGlsZCBmcmFtZXMKIHN0YXRpYyBIVE1MRm9ybUVs
ZW1lbnQgKnNjYW5Gb3JGb3JtKE5vZGUgKnN0YXJ0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0ZyYW1lLmggYi9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCBmYzUyYWY5Li4wNDkwYjRlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWUu
aApAQCAtMjc0LDcgKzI3NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBj
bGVhclR5cGluZ1N0eWxlKCk7CiAKICAgICAgICAgRmxvYXRSZWN0IHNlbGVjdGlvbkJvdW5kcyhi
b29sIGNsaXBUb1Zpc2libGVDb250ZW50ID0gdHJ1ZSkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2Vs
ZWN0aW9uVGV4dFJlY3RzKFZlY3RvcjxGbG9hdFJlY3Q+JiwgYm9vbCBjbGlwVG9WaXNpYmxlQ29u
dGVudCA9IHRydWUpIGNvbnN0OworICAgICAgICBlbnVtIHsgUmVzcGVjdFRyYW5zZm9ybXMgPSB0
cnVlLCBJZ25vcmVUcmFuc2Zvcm1zID0gZmFsc2UgfTsKKyAgICAgICAgdm9pZCBzZWxlY3Rpb25U
ZXh0UmVjdHMoVmVjdG9yPEZsb2F0UmVjdD4mLCBib29sIHJlc3BlY3RUcmFuc2Zvcm1zLCBib29s
IGNsaXBUb1Zpc2libGVDb250ZW50ID0gdHJ1ZSkgY29uc3Q7CiAKICAgICAgICAgSFRNTEZvcm1F
bGVtZW50KiBjdXJyZW50Rm9ybSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCmluZGV4IDI5MmYyNDcuLjMxZTY5NjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZVRleHRCb3guY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCkBAIC03MDAsNyArNzAwLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRp
b24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBpbnQgdHgsIGludCB0eSwgaW4KICAgICAgICAg
Y29udGV4dC0+Y2xlYXJTaGFkb3coKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNw
ZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGludCB0eCwgaW50IHR5
LCBEb2N1bWVudE1hcmtlciBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYg
Zm9udCwgYm9vbCBncmFtbWFyKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JH
cmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGludCB0eCwgaW50IHR5LCBjb25zdCBE
b2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZv
bnQsIGJvb2wgZ3JhbW1hcikKIHsKICAgICAvLyBOZXZlciBwcmludCBzcGVsbGluZy9ncmFtbWFy
IG1hcmtlcnMgKDUzMjc4ODcpCiAgICAgaWYgKHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5w
cmludGluZygpKQpAQCAtNzM5LDggKzczOSwxMSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgaW50IHR4LCBpbgog
ICAgICAgICAKICAgICAgICAgLy8gU3RvcmUgcmVuZGVyZWQgcmVjdHMgZm9yIGJhZCBncmFtbWFy
IG1hcmtlcnMsIHNvIHdlIGNhbiBoaXQtdGVzdCBhZ2FpbnN0IGl0IGVsc2V3aGVyZSBpbiBvcmRl
ciB0bwogICAgICAgICAvLyBkaXNwbGF5IGEgdG9vbFRpcC4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Ig
bWlzc3BlbGxpbmcgbWFya2Vycy4KLSAgICAgICAgaWYgKGdyYW1tYXIpCisgICAgICAgIGlmIChn
cmFtbWFyKSB7CisgICAgICAgICAgICBtYXJrZXJSZWN0Lm1vdmUoLXR4LCAtdHkpOworICAgICAg
ICAgICAgbWFya2VyUmVjdCA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRS
ZWN0KG1hcmtlclJlY3QpKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogICAgICAgICAgICAgcmVu
ZGVyZXIoKS0+ZG9jdW1lbnQoKS0+c2V0UmVuZGVyZWRSZWN0Rm9yTWFya2VyKHJlbmRlcmVyKCkt
Pm5vZGUoKSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKKyAgICAgICAgfQogICAgIH0KICAgICAKICAg
ICAvLyBJTVBPUlRBTlQ6IFRoZSBtaXNzcGVsbGluZyB1bmRlcmxpbmUgaXMgbm90IGNvbnNpZGVy
ZWQgd2hlbiBjYWxjdWxhdGluZyB0aGUgdGV4dCBib3VuZHMsIHNvIHdlIGhhdmUgdG8KQEAgLTc2
Myw3ICs3NjYsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJN
YXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgaW50IHR4LCBpbgogICAgIHB0LT5kcmF3TGluZUZv
ck1pc3NwZWxsaW5nT3JCYWRHcmFtbWFyKEludFBvaW50KHR4ICsgbV94ICsgc3RhcnQsIHR5ICsg
bV95ICsgdW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIGdyYW1tYXIpOwogfQogCi12b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGludCB0
eCwgaW50IHR5LCBEb2N1bWVudE1hcmtlciBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIo
R3JhcGhpY3NDb250ZXh0KiBwdCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IERvY3VtZW50TWFya2Vy
JiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAv
LyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQgYXMgZm9yIHNlbGVjdGlvbiwgc28g
dGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGlnaGxpZ2h0IGFyZSBvbgogICAgIC8v
IHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBzdGlja2luZyBvdXQuCkBAIC03NzMs
MTAgKzc3NiwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdy
YXBoaWNzQ29udGV4dCogcHQsIGludCB0eCwgaW50IHR5LCBEbwogICAgIGludCBzUG9zID0gbWF4
KG1hcmtlci5zdGFydE9mZnNldCAtIG1fc3RhcnQsICh1bnNpZ25lZCkwKTsKICAgICBpbnQgZVBv
cyA9IG1pbihtYXJrZXIuZW5kT2Zmc2V0IC0gbV9zdGFydCwgKHVuc2lnbmVkKW1fbGVuKTsgICAg
CiAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsg
bV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBt
X3RvQWRkLCBkaXJlY3Rpb24oKSA9PSBSVEwsIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3Vh
bGx5T3JkZXJlZCgpKTsKLSAgICBJbnRQb2ludCBzdGFydFBvaW50ID0gSW50UG9pbnQobV94ICsg
dHgsIHkgKyB0eSk7CiAgICAgCi0gICAgLy8gQWx3YXlzIGNvbXB1dGUgYW5kIHN0b3JlIHRoZSBy
ZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hcmtlcgotICAgIEludFJlY3QgbWFya2VyUmVjdCA9
IGVuY2xvc2luZ0ludFJlY3QoZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHN0YXJ0UG9p
bnQsIGgsIHNQb3MsIGVQb3MpKTsKKyAgICAvLyBBbHdheXMgY29tcHV0ZSBhbmQgc3RvcmUgdGhl
IHJlY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWFya2VyLiBUaGUgY29tcHV0ZWQgcmVjdCBpcyBp
biBhYnNvbHV0ZSBjb29yZGluYXRlcy4KKyAgICBJbnRSZWN0IG1hcmtlclJlY3QgPSBlbmNsb3Np
bmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBJbnRQb2ludChtX3gsIHkp
LCBoLCBzUG9zLCBlUG9zKSk7CisgICAgbWFya2VyUmVjdCA9IHJvb3QoKS0+YmxvY2soKS0+bG9j
YWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QobWFya2VyUmVjdCkpLmVuY2xvc2luZ0JvdW5kaW5n
Qm94KCk7CiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+c2V0UmVuZGVyZWRSZWN0Rm9yTWFy
a2VyKHJlbmRlcmVyKCktPm5vZGUoKSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKICAgICAgCiAgICAg
Ly8gT3B0aW9uYWxseSBoaWdobGlnaHQgdGhlIHRleHQKQEAgLTc4NywxMiArNzkwLDEyIEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBw
dCwgaW50IHR4LCBpbnQgdHksIERvCiAgICAgICAgIHB0LT5zYXZlKCk7CiAgICAgICAgIHVwZGF0
ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBzdHlsZS0+Y29sb3JTcGFjZSgp
KTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCiAgICAgICAgIHB0LT5jbGlwKEludFJlY3Qo
dHggKyBtX3gsIHR5ICsgeSwgbV93aWR0aCwgaCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdo
dEZvclRleHQoZm9udCwgcnVuLCBzdGFydFBvaW50LCBoLCBjb2xvciwgc3R5bGUtPmNvbG9yU3Bh
Y2UoKSwgc1BvcywgZVBvcyk7CisgICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250
LCBydW4sIEludFBvaW50KG1feCArIHR4LCB5ICsgdHkpLCBoLCBjb2xvciwgc3R5bGUtPmNvbG9y
U3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgICAgIHB0LT5yZXN0b3JlKCk7CiAgICAgfQogfQog
Ci12b2lkIElubGluZVRleHRCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1lbnRNYXJrZXIoaW50
IHR4LCBpbnQgdHksIERvY3VtZW50TWFya2VyIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94Ojpjb21wdXRlUmVjdEZvclJlcGxh
Y2VtZW50TWFya2VyKGludCAvKnR4Ki8sIGludCAvKnR5Ki8sIGNvbnN0IERvY3VtZW50TWFya2Vy
JiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAv
LyBSZXBsYWNlbWVudCBtYXJrZXJzIGFyZSBub3QgYWN0dWFsbHkgZHJhd24sIGJ1dCB0aGVpciBy
ZWN0cyBuZWVkIHRvIGJlIGNvbXB1dGVkIGZvciBoaXQgdGVzdGluZy4KICAgICBpbnQgeSA9IHNl
bGVjdGlvblRvcCgpOwpAQCAtODAxLDEwICs4MDQsMTEgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpj
b21wdXRlUmVjdEZvclJlcGxhY2VtZW50TWFya2VyKGludCB0eCwgaW50IHR5LCBEb2N1bWVudE1h
cmsKICAgICBpbnQgc1BvcyA9IG1heChtYXJrZXIuc3RhcnRPZmZzZXQgLSBtX3N0YXJ0LCAodW5z
aWduZWQpMCk7CiAgICAgaW50IGVQb3MgPSBtaW4obWFya2VyLmVuZE9mZnNldCAtIG1fc3RhcnQs
ICh1bnNpZ25lZCltX2xlbik7ICAgIAogICAgIFRleHRSdW4gcnVuKHRleHRSZW5kZXJlcigpLT50
ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxs
b3dUYWJzKCksIHRleHRQb3MoKSwgbV90b0FkZCwgZGlyZWN0aW9uKCkgPT0gUlRMLCBtX2Rpck92
ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7Ci0gICAgSW50UG9pbnQgc3RhcnRQ
b2ludCA9IEludFBvaW50KG1feCArIHR4LCB5ICsgdHkpOworICAgIEludFBvaW50IHN0YXJ0UG9p
bnQgPSBJbnRQb2ludChtX3gsIHkpOwogICAgIAogICAgIC8vIENvbXB1dGUgYW5kIHN0b3JlIHRo
ZSByZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hcmtlci4KICAgICBJbnRSZWN0IG1hcmtlclJl
Y3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFy
dFBvaW50LCBoLCBzUG9zLCBlUG9zKSk7CisgICAgbWFya2VyUmVjdCA9IHJvb3QoKS0+YmxvY2so
KS0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QobWFya2VyUmVjdCkpLmVuY2xvc2luZ0Jv
dW5kaW5nQm94KCk7CiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+c2V0UmVuZGVyZWRSZWN0
Rm9yTWFya2VyKHJlbmRlcmVyKCktPm5vZGUoKSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKIH0KICAg
ICAKQEAgLTgxOSw3ICs4MjMsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRN
YXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGludCB0eCwgaW50IHR5LCBSZQogICAgIC8vIEdp
dmUgYW55IGRvY3VtZW50IG1hcmtlcnMgdGhhdCB0b3VjaCB0aGlzIHJ1biBhIGNoYW5jZSB0byBk
cmF3IGJlZm9yZSB0aGUgdGV4dCBoYXMgYmVlbiBkcmF3bi4KICAgICAvLyBOb3RlIGVuZCgpIHBv
aW50cyBhdCB0aGUgbGFzdCBjaGFyLCBub3Qgb25lIHBhc3QgaXQgbGlrZSBlbmRPZmZzZXQgYW5k
IHJhbmdlcyBkby4KICAgICBmb3IgKCA7IG1hcmtlckl0ICE9IG1hcmtlcnMuZW5kKCk7IG1hcmtl
ckl0KyspIHsKLSAgICAgICAgRG9jdW1lbnRNYXJrZXIgbWFya2VyID0gKm1hcmtlckl0OworICAg
ICAgICBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyID0gKm1hcmtlckl0OwogICAgICAgICAK
ICAgICAgICAgLy8gUGFpbnQgZWl0aGVyIHRoZSBiYWNrZ3JvdW5kIG1hcmtlcnMgb3IgdGhlIGZv
cmVncm91bmQgbWFya2VycywgYnV0IG5vdCBib3RoCiAgICAgICAgIHN3aXRjaCAobWFya2VyLnR5
cGUpIHsKQEAgLTkzOCw3ICs5NDIsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNv
bnN0CiAgICAgaWYgKHgoKSA9PSAwKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0gICAg
UmVuZGVyQmxvY2sgKmJsb2NrRWxlbWVudCA9IHJlbmRlcmVyKCktPmNvbnRhaW5pbmdCbG9jaygp
OworICAgIFJlbmRlckJsb2NrKiBibG9ja0VsZW1lbnQgPSByZW5kZXJlcigpLT5jb250YWluaW5n
QmxvY2soKTsKICAgICByZXR1cm4gZGlyZWN0aW9uKCkgPT0gUlRMID8geCgpIC0gYmxvY2tFbGVt
ZW50LT5ib3JkZXJSaWdodCgpIC0gYmxvY2tFbGVtZW50LT5wYWRkaW5nUmlnaHQoKQogICAgICAg
ICAgICAgICAgICAgICAgIDogeCgpIC0gYmxvY2tFbGVtZW50LT5ib3JkZXJMZWZ0KCkgLSBibG9j
a0VsZW1lbnQtPnBhZGRpbmdMZWZ0KCk7CiB9CkBAIC05NDksNyArOTUzLDcgQEAgaW50IElubGlu
ZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGludCBfeCwgYm9vbCBpbmNsdWRlUGFydGlhbEds
eXBocykgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBSZW5kZXJUZXh0KiB0ZXh0ID0g
dG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpOwotICAgIFJlbmRlclN0eWxlICpzdHlsZSA9IHRleHQt
PnN0eWxlKG1fZmlyc3RMaW5lKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0ZXh0LT5zdHls
ZShtX2ZpcnN0TGluZSk7CiAgICAgY29uc3QgRm9udCogZiA9ICZzdHlsZS0+Zm9udCgpOwogICAg
IHJldHVybiBmLT5vZmZzZXRGb3JQb3NpdGlvbihUZXh0UnVuKHRleHRSZW5kZXJlcigpLT50ZXh0
KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dU
YWJzKCksIHRleHRQb3MoKSwgbV90b0FkZCwgZGlyZWN0aW9uKCkgPT0gUlRMLCBtX2Rpck92ZXJy
aWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF94IC0gbV94LCBpbmNsdWRlUGFydGlhbEdseXBocyk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmggYi9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmgKaW5kZXggZDY2NThkZi4uODBhZjJlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guaApAQCAtMTMxLDkgKzEzMSw5IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgdm9p
ZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgaW50IHR4LCBpbnQgdHksIGludCBk
ZWNvcmF0aW9uLCBTaGFkb3dEYXRhKik7CiAgICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFwaGlj
c0NvbnRleHQqLCBpbnQgdHgsIGludCB0eSwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7Ci0g
ICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGlu
dCB0eCwgaW50IHR5LCBEb2N1bWVudE1hcmtlciwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jiwg
Ym9vbCBncmFtbWFyKTsKLSAgICB2b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29u
dGV4dCosIGludCB0eCwgaW50IHR5LCBEb2N1bWVudE1hcmtlciwgUmVuZGVyU3R5bGUqLCBjb25z
dCBGb250Jik7Ci0gICAgdm9pZCBjb21wdXRlUmVjdEZvclJlcGxhY2VtZW50TWFya2VyKGludCB0
eCwgaW50IHR5LCBEb2N1bWVudE1hcmtlciwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7Cisg
ICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGlu
dCB0eCwgaW50IHR5LCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3Qg
Rm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBpbnQgdHgsIGludCB0eSwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5k
ZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1l
bnRNYXJrZXIoaW50IHR4LCBpbnQgdHksIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5
bGUqLCBjb25zdCBGb250Jik7CiB9OwogCiBpbmxpbmUgUmVuZGVyVGV4dCogSW5saW5lVGV4dEJv
eDo6dGV4dFJlbmRlcmVyKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggMDJh
NDVkMy4uNjQxMzU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTMyNiw3ICszMjYs
MTQgQEAgSW50UmVjdCBSZW5kZXJWaWV3OjpzZWxlY3Rpb25Cb3VuZHMoYm9vbCBjbGlwVG9WaXNp
YmxlQ29udGVudCkgY29uc3QKICAgICBTZWxlY3Rpb25NYXA6Oml0ZXJhdG9yIGVuZCA9IHNlbGVj
dGVkT2JqZWN0cy5lbmQoKTsKICAgICBmb3IgKFNlbGVjdGlvbk1hcDo6aXRlcmF0b3IgaSA9IHNl
bGVjdGVkT2JqZWN0cy5iZWdpbigpOyBpICE9IGVuZDsgKytpKSB7CiAgICAgICAgIFJlbmRlclNl
bGVjdGlvbkluZm8qIGluZm8gPSBpLT5zZWNvbmQ7Ci0gICAgICAgIHNlbFJlY3QudW5pdGUoaW5m
by0+cmVjdCgpKTsKKyAgICAgICAgLy8gUmVuZGVyU2VsZWN0aW9uSW5mbzo6cmVjdCgpIGlzIGlu
IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcmVwYWludENvbnRhaW5lciwgc28gbWFwIHRvIHBhZ2Ug
Y29vcmRpbmF0ZXMuCisgICAgICAgIEludFJlY3QgY3VyclJlY3QgPSBpbmZvLT5yZWN0KCk7Cisg
ICAgICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyID0gaW5mby0+cmVw
YWludENvbnRhaW5lcigpOworICAgICAgICBpZiAocmVwYWludENvbnRhaW5lcikgeworICAgICAg
ICAgICAgRmxvYXRRdWFkIGFic1F1YWQgPSByZXBhaW50Q29udGFpbmVyLT5sb2NhbFRvQWJzb2x1
dGVRdWFkKEZsb2F0UmVjdChjdXJyUmVjdCkpOworICAgICAgICAgICAgY3VyclJlY3QgPSBhYnNR
dWFkLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7IAorICAgICAgICB9CisgICAgICAgIHNlbFJlY3Qu
dW5pdGUoY3VyclJlY3QpOwogICAgICAgICBkZWxldGUgaW5mbzsKICAgICB9CiAgICAgcmV0dXJu
IHNlbFJlY3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IGM4MGRhYmYuLmU2YTY3ZmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MDktMTEtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9jdW1lbnRNYXJrZXJz
IG5lZWQgdG8gYmUgZWR1Y2F0ZWQgYWJvdXQgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE3NTEKKyAgICAgICAgCisgICAgICAgIEZp
bmQgaGlnaGxpZ2h0IGlzIGluY29ycmVjdCB3aXRoIHRyYW5zZm9ybXMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzYzNTgzOTQ+CisgICAgICAgIAorICAgICAgICBBbGxvdyBjYWxsZXJzIHRvIHNw
ZWNpZnkgdGhhdCBGcmFtZTo6c2VsZWN0aW9uVGV4dFJlY3RzKCkgdGFrZXMgdHJhbnNmb3JtcyBp
bnRvIGFjY291bnQKKyAgICAgICAgd2hlbiBjb21wdXRpbmcgdGhlIHNldCBvZiByZWN0cyB0aGF0
IGVuY29tcGFzcyBhIHNlbGVjdGlvbi4gRm9yIHRyYW5zZm9ybWVkIGVsZW1lbmV0cywgdGhlCisg
ICAgICAgIHNlbGVjdGlvbiByZWN0IHdpbGwgYmUgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgc2Vs
ZWN0ZWQgY29udGVudC4KKyAgICAgICAgCisgICAgICAgIEZpeCBEb2N1bWVudE1hcmtlcnMgdG8g
Y2FjaGUgcmVjdHMgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMsIHJhdGhlciB0aGFuIHBhaW50aW5n
IGNvb3JkaW5hdGVzLgorICAgICAgICAKKyAgICAgICAgTm90IHRlc3RhYmxlIHZpYSBEUlQuCisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmll
dyBzZWxlY3Rpb25UZXh0UmVjdHNdKToKKyAgICAgICAgUGFzcyBSZXNwZWN0VHJhbnNmb3JtcyB0
byBnZXQgYSBsaXN0IG9mIHJlY3RzIHdpdGggdHJhbnNmb3JtcyB0YWtlbiBpbnRvIGFjY291bnQu
CisKIDIwMDktMTEtMTkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQppbmRleCA3YzhjNGRiLi5hYTE5MzJkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CkBAIC01OTExLDcgKzU5MTEsNyBAQCBzdGF0aWMgdm9pZCBleHRyYWN0VW5kZXJsaW5lcyhOU0F0
dHJpYnV0ZWRTdHJpbmcgKnN0cmluZywgVmVjdG9yPENvbXBvc2l0aW9uVW5kZQogICAgIAogICAg
IFZlY3RvcjxGbG9hdFJlY3Q+IGxpc3Q7CiAgICAgaWYgKEZyYW1lKiBjb3JlRnJhbWUgPSBjb3Jl
KFtzZWxmIF9mcmFtZV0pKQotICAgICAgICBjb3JlRnJhbWUtPnNlbGVjdGlvblRleHRSZWN0cyhs
aXN0KTsKKyAgICAgICAgY29yZUZyYW1lLT5zZWxlY3Rpb25UZXh0UmVjdHMobGlzdCwgRnJhbWU6
OlJlc3BlY3RUcmFuc2Zvcm1zKTsKIAogICAgIHVuc2lnbmVkIHNpemUgPSBsaXN0LnNpemUoKTsK
ICAgICBOU011dGFibGVBcnJheSAqcmVzdWx0ID0gW1tbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGlu
aXRXaXRoQ2FwYWNpdHk6c2l6ZV0gYXV0b3JlbGVhc2VdOwo=
</data>
<flag name="review"
          id="25454"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>