<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>261</bug_id>
          
          <creation_ts>2007-01-17 01:47:21 +0100</creation_ts>
          <short_desc>Throttle shrinking of backing store texture for TextRenderer</short_desc>
          <delta_ts>2015-09-27 03:14:59 +0200</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.javagaming.org/forums/index.php?topic=15634.30</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>277</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:49:51 +0100</bug_when>
    <thetext>


---- Reported by kbr 2007-01-17 13:47:21 ----

bienator on the javagaming.org forums has pointed out that the TextRenderer&apos;s
backing store sometimes changes size too quickly. A suggestion is to throttle
the rate at which the backing store texture can be shrunk.



---- Additional Comments From bienator 2007-01-18 07:57:16 ----

Created an attachment
modified TextFlow demo




---- Additional Comments From kbr 2007-10-08 22:57:49 ----

Integrated John Burkey&apos;s new TextRenderer implementation using
glyph-by-glyph caching for most cases, with fallbacks to
String-by-String caching for complete Unicode correctness. New
implementation yields drastic performance improvements for
applications displaying large amounts of dynamic text. Upgraded JOGL
demos to work with new TextRenderer.

This checkin fixes at least the following issues:

Issue 261: Throttle shrinking of backing store texture for TextRenderer
Issue 293: TextRenderer: width of strings with spaces not correct in RC4
Issue 294: TextRenderer: rendering stops when a string is wider than the maximum
texture size
Issue 304: TextRenderer rendering artifacts in 3D mode

as well as outstanding performance issues with the current
TextRenderer reported on the JOGL forum.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:49 EDT  ---

This bug was previously known as _bug_ 261 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=261
Imported an attachment (id=89)

The original submitter of attachment 89 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>89</attachid>
            <date>2007-01-18 07:57:00 +0100</date>
            <delta_ts>2007-01-18 07:57:00 +0100</delta_ts>
            <desc>modified TextFlow demo</desc>
            <filename>TextFlow.java</filename>
            <type>application/msword</type>
            <size>10893</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChjKSAyMDA2IFN1biBNaWNyb3N5c3RlbXMsIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KICogCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAqIG1ldDoKICog
CiAqIC0gUmVkaXN0cmlidXRpb24gb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAogKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KICogCiAqIC0gUmVkaXN0cmlidXRpb24gaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogKiAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICog
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiBTdW4gTWljcm9zeXN0ZW1z
LCBJbmMuIG9yIHRoZSBuYW1lcyBvZgogKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogKiAKICogVGhpcyBzb2Z0
d2FyZSBpcyBwcm92aWRlZCAiQVMgSVMsIiB3aXRob3V0IGEgd2FycmFudHkgb2YgYW55IGtpbmQu
IEFMTAogKiBFWFBSRVNTIE9SIElNUExJRUQgQ09ORElUSU9OUywgUkVQUkVTRU5UQVRJT05TIEFO
RCBXQVJSQU5USUVTLAogKiBJTkNMVURJTkcgQU5ZIElNUExJRUQgV0FSUkFOVFkgT0YgTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBCiAqIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT04tSU5G
UklOR0VNRU5ULCBBUkUgSEVSRUJZIEVYQ0xVREVELiBTVU4KICogTUlDUk9TWVNURU1TLCBJTkMu
ICgiU1VOIikgQU5EIElUUyBMSUNFTlNPUlMgU0hBTEwgTk9UIEJFIExJQUJMRSBGT1IKICogQU5Z
IERBTUFHRVMgU1VGRkVSRUQgQlkgTElDRU5TRUUgQVMgQSBSRVNVTFQgT0YgVVNJTkcsIE1PRElG
WUlORyBPUgogKiBESVNUUklCVVRJTkcgVEhJUyBTT0ZUV0FSRSBPUiBJVFMgREVSSVZBVElWRVMu
IElOIE5PIEVWRU5UIFdJTEwgU1VOIE9SCiAqIElUUyBMSUNFTlNPUlMgQkUgTElBQkxFIEZPUiBB
TlkgTE9TVCBSRVZFTlVFLCBQUk9GSVQgT1IgREFUQSwgT1IgRk9SCiAqIERJUkVDVCwgSU5ESVJF
Q1QsIFNQRUNJQUwsIENPTlNFUVVFTlRJQUwsIElOQ0lERU5UQUwgT1IgUFVOSVRJVkUKICogREFN
QUdFUywgSE9XRVZFUiBDQVVTRUQgQU5EIFJFR0FSRExFU1MgT0YgVEhFIFRIRU9SWSBPRiBMSUFC
SUxJVFksCiAqIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0YgT1IgSU5BQklMSVRZIFRPIFVTRSBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCiAqIFNVTiBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCiAqIAogKiBZb3UgYWNrbm93bGVkZ2UgdGhhdCB0aGlz
IHNvZnR3YXJlIGlzIG5vdCBkZXNpZ25lZCBvciBpbnRlbmRlZCBmb3IgdXNlCiAqIGluIHRoZSBk
ZXNpZ24sIGNvbnN0cnVjdGlvbiwgb3BlcmF0aW9uIG9yIG1haW50ZW5hbmNlIG9mIGFueSBudWNs
ZWFyCiAqIGZhY2lsaXR5LgogKiAKICogU3VuIGdyYXRlZnVsbHkgYWNrbm93bGVkZ2VzIHRoYXQg
dGhpcyBzb2Z0d2FyZSB3YXMgb3JpZ2luYWxseSBhdXRob3JlZAogKiBhbmQgZGV2ZWxvcGVkIGJ5
IEtlbm5ldGggQnJhZGxleSBSdXNzZWxsIGFuZCBDaHJpc3RvcGhlciBKb2huIEtsaW5lLgogKi8K
CnBhY2thZ2UgZGVtb3MuajJkOwoKaW1wb3J0IGphdmEuYXd0LkJvcmRlckxheW91dDsKaW1wb3J0
IGphdmEuYXd0LkZvbnQ7CmltcG9ydCBqYXZhLmF3dC5GcmFtZTsKaW1wb3J0IGphdmEuYXd0LmV2
ZW50LldpbmRvd0FkYXB0ZXI7CmltcG9ydCBqYXZhLmF3dC5ldmVudC5XaW5kb3dFdmVudDsKaW1w
b3J0IGphdmEuYXd0LmZvbnQuRm9udFJlbmRlckNvbnRleHQ7CmltcG9ydCBqYXZhLmF3dC5mb250
LkxpbmVCcmVha01lYXN1cmVyOwppbXBvcnQgamF2YS5hd3QuZm9udC5UZXh0QXR0cmlidXRlOwpp
bXBvcnQgamF2YS5hd3QuZ2VvbS5SZWN0YW5nbGUyRDsKaW1wb3J0IGphdmEudGV4dC5BdHRyaWJ1
dGVkU3RyaW5nOwppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKaW1wb3J0IGphdmEudXRpbC5I
YXNoTWFwOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTWFwOwoKaW1w
b3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTDsKaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTEF1
dG9EcmF3YWJsZTsKaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTENhbnZhczsKCmltcG9ydCBj
b20uc3VuLm9wZW5nbC51dGlsLkFuaW1hdG9yOwppbXBvcnQgY29tLnN1bi5vcGVuZ2wudXRpbC5q
MmQuVGV4dFJlbmRlcmVyOwoKaW1wb3J0IGRlbW9zLmNvbW1vbi5EZW1vOwppbXBvcnQgZGVtb3Mu
dXRpbC5TeXN0ZW1UaW1lOwppbXBvcnQgZGVtb3MudXRpbC5UaW1lOwoKLyoqIElsbHVzdHJhdGVz
IGJvdGggdGhlIFRleHRSZW5kZXJlcidzIGNhcGFiaWxpdHkgZm9yIGhhbmRsaW5nCiAgICByZWxh
dGl2ZWx5IGxhcmdlIGFtb3VudHMgb2YgdGV4dCAobW9yZSB0aGFuIGRyYXduIG9uIHRoZSBzY3Jl
ZW4gLS0KICAgIHNob3dpbmcgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgY2FwYWJpbGl0aWVzIG9m
IGl0cyBpbnRlcm5hbAogICAgY2FjaGUpIGFzIHdlbGwgYXMgdXNpbmcgdGhlIEphdmEgMkQgdGV4
dCBsYXlvdXQgbWVjaGFuaXNtcyBpbgogICAgY29uanVuY3Rpb24gd2l0aCB0aGUgVGV4dFJlbmRl
cmVyIHRvIGZsb3cgdGV4dCBhY3Jvc3MgdGhlCiAgICBzY3JlZW4uICovCgpwdWJsaWMgY2xhc3Mg
VGV4dEZsb3cgZXh0ZW5kcyBEZW1vIHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdb
XSBhcmdzKSB7CiAgICBGcmFtZSBmcmFtZSA9IG5ldyBGcmFtZSgiVGV4dCBGbG93Iik7CiAgICBm
cmFtZS5zZXRMYXlvdXQobmV3IEJvcmRlckxheW91dCgpKTsKCiAgICBHTENhbnZhcyBjYW52YXMg
PSBuZXcgR0xDYW52YXMoKTsKICAgIGZpbmFsIFRleHRGbG93IGRlbW8gPSBuZXcgVGV4dEZsb3co
KTsKCiAgICBjYW52YXMuYWRkR0xFdmVudExpc3RlbmVyKGRlbW8pOwogICAgZnJhbWUuYWRkKGNh
bnZhcywgQm9yZGVyTGF5b3V0LkNFTlRFUik7CgogICAgZnJhbWUuc2V0U2l6ZSg1MTIsIDUxMik7
CiAgICBmaW5hbCBBbmltYXRvciBhbmltYXRvciA9IG5ldyBBbmltYXRvcihjYW52YXMpOwogICAg
ZnJhbWUuYWRkV2luZG93TGlzdGVuZXIobmV3IFdpbmRvd0FkYXB0ZXIoKSB7CiAgICAgICAgcHVi
bGljIHZvaWQgd2luZG93Q2xvc2luZyhXaW5kb3dFdmVudCBlKSB7CiAgICAgICAgICAvLyBSdW4g
dGhpcyBvbiBhbm90aGVyIHRocmVhZCB0aGFuIHRoZSBBV1QgZXZlbnQgcXVldWUgdG8KICAgICAg
ICAgIC8vIG1ha2Ugc3VyZSB0aGUgY2FsbCB0byBBbmltYXRvci5zdG9wKCkgY29tcGxldGVzIGJl
Zm9yZQogICAgICAgICAgLy8gZXhpdGluZwogICAgICAgICAgbmV3IFRocmVhZChuZXcgUnVubmFi
bGUoKSB7CiAgICAgICAgICAgICAgcHVibGljIHZvaWQgcnVuKCkgewogICAgICAgICAgICAgICAg
YW5pbWF0b3Iuc3RvcCgpOwogICAgICAgICAgICAgICAgU3lzdGVtLmV4aXQoMCk7CiAgICAgICAg
ICAgICAgfQogICAgICAgICAgICB9KS5zdGFydCgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICBm
cmFtZS5zaG93KCk7CiAgICBhbmltYXRvci5zdGFydCgpOwogIH0KCiAgcHJpdmF0ZSBMaXN0Lyo8
U3RyaW5nPiovIGxpbmVzID0gbmV3IEFycmF5TGlzdCgpOwogIHByaXZhdGUgVGltZSB0aW1lOwog
IHByaXZhdGUgVGV4dFJlbmRlcmVyIHJlbmRlcmVyOwogIHByaXZhdGUgaW50IGN1clBhcmFncmFw
aDsKICBwcml2YXRlIGZsb2F0IHggPSAzMDsKICBwcml2YXRlIGZsb2F0IHk7CiAgcHJpdmF0ZSBm
bG9hdCB2ZWxvY2l0eSA9IDEwMDsgIC8vIHBpeGVscy9zZWMKICBwcml2YXRlIGludCBsaW5lU3Bh
Y2luZzsKICBwcml2YXRlIGludCBFWFRSQV9MSU5FX1NQQUNJTkcgPSA1OwoKICBwcml2YXRlIHZv
aWQgcmVmbG93KGZsb2F0IHdpZHRoKSB7CiAgICBsaW5lcy5jbGVhcigpOwogICAgbGluZVNwYWNp
bmcgPSAwOwogICAgaW50IG51bUxpbmVzID0gMDsKICAgIEZvbnRSZW5kZXJDb250ZXh0IGZyYyA9
IHJlbmRlcmVyLmdldEZvbnRSZW5kZXJDb250ZXh0KCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8
IHRleHQubGVuZ3RoOyBpKyspIHsKICAgICAgU3RyaW5nIHBhcmFncmFwaCA9IHRleHRbaV07CiAg
ICAgIE1hcCBhdHRycyA9IG5ldyBIYXNoTWFwKCk7CiAgICAgIGF0dHJzLnB1dChUZXh0QXR0cmli
dXRlLkZPTlQsIHJlbmRlcmVyLmdldEZvbnQoKSk7CiAgICAgIEF0dHJpYnV0ZWRTdHJpbmcgc3Ry
ID0gbmV3IEF0dHJpYnV0ZWRTdHJpbmcocGFyYWdyYXBoLCBhdHRycyk7CiAgICAgIExpbmVCcmVh
a01lYXN1cmVyIG1lYXN1cmVyID0gbmV3IExpbmVCcmVha01lYXN1cmVyKHN0ci5nZXRJdGVyYXRv
cigpLCBmcmMpOwogICAgICBpbnQgY3VyUG9zID0gMDsKICAgICAgd2hpbGUgKG1lYXN1cmVyLmdl
dFBvc2l0aW9uKCkgPCBwYXJhZ3JhcGgubGVuZ3RoKCkpIHsKICAgICAgICBpbnQgbmV4dFBvcyA9
IG1lYXN1cmVyLm5leHRPZmZzZXQod2lkdGgpOwogICAgICAgIFN0cmluZyBsaW5lID0gcGFyYWdy
YXBoLnN1YnN0cmluZyhjdXJQb3MsIG5leHRQb3MpOwogICAgICAgIFJlY3RhbmdsZTJEIGJvdW5k
cyA9IHJlbmRlcmVyLmdldEJvdW5kcyhsaW5lKTsKICAgICAgICBsaW5lcy5hZGQobGluZSk7CiAg
ICAgICAgbGluZVNwYWNpbmcgKz0gKGludCkgYm91bmRzLmdldEhlaWdodCgpOwogICAgICAgICsr
bnVtTGluZXM7CiAgICAgICAgY3VyUG9zID0gbmV4dFBvczsKICAgICAgICBtZWFzdXJlci5zZXRQ
b3NpdGlvbihjdXJQb3MpOwogICAgICB9CiAgICAgIC8vIEluZGljYXRlIGVuZCBvZiBwYXJhZ3Jh
cGggd2l0aCBhIG51bGwgTGluZUluZm8KICAgICAgbGluZXMuYWRkKG51bGwpOwogICAgfQogICAg
bGluZVNwYWNpbmcgPSAoaW50KSAoKGZsb2F0KSBsaW5lU3BhY2luZyAvIChmbG9hdCkgbnVtTGlu
ZXMpICsgRVhUUkFfTElORV9TUEFDSU5HOwogIH0KICAKICBwdWJsaWMgdm9pZCBpbml0KEdMQXV0
b0RyYXdhYmxlIGRyYXdhYmxlKSB7CiAgICByZW5kZXJlciA9IG5ldyBUZXh0UmVuZGVyZXIobmV3
IEZvbnQoIlNhbnNTZXJpZiIsIEZvbnQuUExBSU4sIDM2KSk7CiAgICB0aW1lID0gbmV3IFN5c3Rl
bVRpbWUoKTsKICAgICgoU3lzdGVtVGltZSkgdGltZSkucmViYXNlKCk7CiAgICBkcmF3YWJsZS5n
ZXRHTCgpLnNldFN3YXBJbnRlcnZhbCgwKTsKICB9CgogIHB1YmxpYyB2b2lkIGRpc3BsYXkoR0xB
dXRvRHJhd2FibGUgZHJhd2FibGUpIHsKICAgIHRpbWUudXBkYXRlKCk7CgogICAgR0wgZ2wgPSBk
cmF3YWJsZS5nZXRHTCgpOwogICAgZ2wuZ2xDbGVhcihHTC5HTF9DT0xPUl9CVUZGRVJfQklUKTsK
ICAgIAogICAgZmxvYXQgZGVsdGFUID0gKGZsb2F0KSB0aW1lLmRlbHRhVCgpOwogICAgeSArPSB2
ZWxvY2l0eSAqIGRlbHRhVDsKCiAgICAvLyBEcmF3IHRleHQgc3RhcnRpbmcgYXQgdGhlIHNwZWNp
ZmllZCBwYXJhZ3JhcGgKICAgIGludCBwYXJhZ3JhcGggPSAwOwogICAgZmxvYXQgY3VyWSA9IHk7
CiAgICByZW5kZXJlci5iZWdpblJlbmRlcmluZyhkcmF3YWJsZS5nZXRXaWR0aCgpLCBkcmF3YWJs
ZS5nZXRIZWlnaHQoKSk7CiAgICByZW5kZXJlci5zZXRDb2xvcigxLCAxLCAxLCAxKTsKICAgIGJv
b2xlYW4gcmVuZGVyZWRPbmUgPSBmYWxzZTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGluZXMu
c2l6ZSgpOyBpKyspIHsKICAgICAgU3RyaW5nIGxpbmUgPSAoU3RyaW5nKSBsaW5lcy5nZXQoaSk7
CiAgICAgIGlmIChsaW5lID09IG51bGwpIHsKICAgICAgICArK3BhcmFncmFwaDsKICAgICAgICBp
ZiAocGFyYWdyYXBoID49IGN1clBhcmFncmFwaCkgewogICAgICAgICAgLy8gSWYgdGhpcyBwYXJh
Z3JhcGggaGFzIHNjcm9sbGVkIG9mZiB0aGUgdG9wIG9mIHRoZSBzY3JlZW4sCiAgICAgICAgICAv
LyBkb24ndCBkcmF3IGl0IHRoZSBuZXh0IGZyYW1lCiAgICAgICAgICBpZiAocGFyYWdyYXBoID4g
Y3VyUGFyYWdyYXBoICYmIGN1clkgPiBkcmF3YWJsZS5nZXRIZWlnaHQoKSkgewogICAgICAgICAg
ICArK2N1clBhcmFncmFwaDsKICAgICAgICAgICAgeSA9IGN1clk7CiAgICAgICAgICB9CiAgICAg
ICAgICBjdXJZIC09IDIgKiBsaW5lU3BhY2luZzsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAg
ICAgICAgaWYgKHBhcmFncmFwaCA+PSBjdXJQYXJhZ3JhcGgpIHsKICAgICAgICAgIGN1clkgLT0g
bGluZVNwYWNpbmc7CiAgICAgICAgICBpZiAoY3VyWSA8IGRyYXdhYmxlLmdldEhlaWdodCgpICsg
bGluZVNwYWNpbmcpIHsKICAgICAgICAgICAgcmVuZGVyZXIuZHJhdyhsaW5lLCAoaW50KSB4LCAo
aW50KSBjdXJZKTsKICAgICAgICAgICAgcmVuZGVyZWRPbmUgPSB0cnVlOwogICAgICAgICAgfQog
ICAgICAgICAgaWYgKGN1clkgPCAwKSB7CiAgICAgICAgICAgIC8vIERvbmUgcmVuZGVyaW5nIGFs
bCB2aXNpYmxlIGxpbmVzCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0K
ICAgICAgfQogICAgfQogICAgCi8vICBJc3N1ZSAyNjEgCi8vICB5b3Ugd2lsbCBzb21ldGltZXMg
bm90aWNlIGEgZnBzIGRlY3JlYXNlICg8NTBmcHMgb24gbXkgR2VGb3JjZUZYKSBpZiB0aGUgCi8v
ICBMb3JlbSBJcHN1bSB0ZXh0IGVuZHMuIFRoYXQgaGFwcGVuZHMgaWYgdGhlIHJlbmRlcmVycyBi
YWNraW5nIHN0b3JlIHNpemUKLy8gIGlzIGRlY3JlYXNpbmcgYW5kIGluY3JlYXNpbmcgaW4gc21h
bGwgc3RlcHMgc2hvcnQgYWZ0ZXIgZGVjcmVhc2luZwogICAgCi8vICBwb3NzaWJsZSBxdWlja2Zp
eDogd2FpdCBzb21lIHNlY29uZHMgYmVmb3JlIG5leHQgdGV4dHVyZSBkZWNyZWFzZQogICAgCi8v
ICBhZGQgYSBmcHMgY291bnRlciBhbmQgcHJpbnQgYXBwbGljYXRpb24gdGltZQogICAgcmVuZGVy
ZXIuc2V0Q29sb3IoMSwgMCwgMCwgMSk7CiAgICByZW5kZXJlci5kcmF3KCJmcHM6ICIrKGludCko
MS90aW1lLmRlbHRhVCgpKSwgIDAsIDM2KTsKICAgIHJlbmRlcmVyLmRyYXcoInRpbWU6ICIrdGlt
ZS50aW1lKCksICAwLCAwKTsKLy8gICAgcmVuZGVyZXIuZHJhdyhNYXRoLnJhbmRvbSgpKyIiLCAg
MCwgMCk7CiAgICAKICAgIHJlbmRlcmVyLmVuZFJlbmRlcmluZygpOwogICAgaWYgKCFyZW5kZXJl
ZE9uZSkgewogICAgICAvLyBTdGFydCBvdmVyCiAgICAgIGN1clBhcmFncmFwaCA9IDA7CiAgICAg
IHkgPSAwOwogICAgfQogIH0KCiAgcHVibGljIHZvaWQgcmVzaGFwZShHTEF1dG9EcmF3YWJsZSBk
cmF3YWJsZSwgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKICAgIHJlZmxv
dyhNYXRoLm1heCgxMDAsIHdpZHRoIC0gNjApKTsKICB9CgogIHB1YmxpYyB2b2lkIGRpc3BsYXlD
aGFuZ2VkKEdMQXV0b0RyYXdhYmxlIGRyYXdhYmxlLCBib29sZWFuIG1vZGVDaGFuZ2VkLCBib29s
ZWFuIGRldmljZUNoYW5nZWQpIHt9CgogIC8vIFVzZSBzb21lIG5vbnNlbnNlIExvcmVtIElwc3Vt
IHRleHQgZ2VuZXJhdGVkIGZyb20gd3d3LmxpcHN1bS5jb20KICBwcml2YXRlIHN0YXRpYyBmaW5h
bCBTdHJpbmdbXSB0ZXh0ID0gewogICAgIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25z
ZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LiBOdWxsYSBpbiBtaSB1dCBhdWd1ZSBsYW9yZWV0IGdy
YXZpZGEuIFF1aXNxdWUgc29kYWxlcyB2ZWhpY3VsYSBsaWd1bGEuIERvbmVjIHBvc3VlcmUuIE1v
cmJpIGFsaXF1ZXQsIG9kaW8gdml0YWUgdGVtcHVzIG1hdHRpcywgb2RpbyBkb2xvciB2ZXN0aWJ1
bHVtIGxlbywgY29uZ3VlIGxhb3JlZXQgcmlzdXMgZmVsaXMgdml0YWUgZG9sb3IuIE51bGxhIGFy
Y3UuIE1vcmJpIG5vbiBxdWFtLiBWZXN0aWJ1bHVtIHByZXRpdW0gZG9sb3IgZmVybWVudHVtIGVy
YXQuIFByb2luIGRpY3R1bSB2b2x1dHBhdCBuaWJoLiBNb3JiaSBlZ2VzdGFzIG1hdXJpcyBhIGRp
YW0uIFZlc3RpYnVsdW0gbWF1cmlzIGVyb3MsIHBvcnR0aXRvciBhdCwgZmVybWVudHVtIGEsIHZh
cml1cyBldSwgbWF1cmlzLiBDcmFzIHJ1dHJ1bSBmZWxpcyB1dCBkaWFtLiBBZW5lYW4gcG9ydHRp
dG9yIHJpc3VzIGEgbnVuYy4gQWxpcXVhbSBldCBhbnRlIGV1IGRvbG9yIHByZXRpdW0gYWRpcGlz
Y2luZy4gU2VkIGZlcm1lbnR1bSwgZXJvcyBpbiBkYXBpYnVzIGxhY2luaWEsIGF1Z3VlIG51bmMg
ZmVybWVudHVtIHRlbGx1cywgZXUgZWdlc3RhcyBqdXN0byBlbGl0IGF0IG1hdXJpcy4gU2VkIGxl
byBuaXNsLCBmZXJtZW50dW0gaW4sIHByZXRpdW0gdml0YWUsIHRpbmNpZHVudCBhdCwgbGFjdXMu
IEN1cmFiaXR1ciBub24gZGlhbS4iLAovLyAgICAiRXRpYW0gdmFyaXVzIHNhZ2l0dGlzIGxvcmVt
LiBWaXZhbXVzIGlhY3VsaXMgY29uZGltZW50dW0gdG9ydG9yLiBOdW5jIHNvbGxpY2l0dWRpbiBz
Y2VsZXJpc3F1ZSBkb2xvci4gTnVuYyBjb25kaW1lbnR1bSBmcmluZ2lsbGEgbmlzbC4gRnVzY2Ug
cHVydXMgbWF1cmlzLCBibGFuZGl0IGV1LCBsYWNpbmlhIGVnZXQsIHZlc3RpYnVsdW0gbmVjLCBt
YXNzYS4gTnVsbGEgdml0YWUgbGliZXJvLiBTdXNwZW5kaXNzZSBwb3RlbnRpLiBBbGlxdWFtIGlh
Y3VsaXMsIGxvcmVtIGV1IGFkaXBpc2NpbmcgdGVtcG9yLCBpcHN1bSBkdWkgYWxpcXVhbSBzZW0s
IGV1IHZlaGljdWxhIGxlbyBsZW8gZXUgaXBzdW0uIFBlbGxlbnRlc3F1ZSBmYXVjaWJ1cy4gTnVs
bGFtIHBvcnR0aXRvciBsaWd1bGEgZWdldCBuaWJoLiBDcmFzIGVsZW1lbnR1bSBtaSBhYyBsaWJl
cm8uIFByYWVzZW50IHBlbGxlbnRlc3F1ZSBwZWRlIHZpdGFlIHF1YW0uIFNlZCBuZWMgYXJjdSBp
ZCBhbnRlIGN1cnN1cyBtb2xsaXMuIFN1c3BlbmRpc3NlIHF1aXMgaXBzdW0uIE1hZWNlbmFzIGZl
dWdpYXQgaW50ZXJkdW0gbmVxdWUuIE51bGxhbSBkdWkgZGlhbSwgY29udmFsbGlzIGF0LCBjb25k
aW1lbnR1bSB2aXRhZSwgbWF0dGlzIHZpdGFlLCBtZXR1cy4gSW50ZWdlciBzb2xsaWNpdHVkaW4s
IGRpYW0gaWQgbGFjaW5pYSBwb3N1ZXJlLCBxdWFtIHZlbGl0IGZyaW5naWxsYSBkb2xvciwgZXUg
c2VtcGVyIHNhcGllbiBmZWxpcyBhYyBlbGl0LiIsCi8vICAgICJVdCBhIG1hZ25hIHZpdGFlIGxl
Y3R1cyBldWlzbW9kIGhlbmRyZXJpdC4gUXVpc3F1ZSB2YXJpdXMgY29uc2VjdGV0dWVyIHNhcGll
bi4gU3VzcGVuZGlzc2UgbGlndWxhLiBOdWxsYW0gZmV1Z2lhdCB2ZW5lbmF0aXMgbWF1cmlzLiBJ
biBjb25zZXF1YXQgbG9yZW0gYXQgbmVxdWUuIFBlbGxlbnRlc3F1ZSBsaWJlcm8uIEluIGVnZXQg
bGVjdHVzIGluIHZlbGl0IGF1Y3RvciBmYWNpbGlzaXMuIERvbmVjIG5lYyBtZXR1cy4gQWxpcXVh
bSBmYWNpbGlzaXMgZXJvcyB2ZWwgZHVpLiBJbnRlZ2VyIGEgZGlhbS4gRG9uZWMgaW50ZXJkdW0s
IGVyb3MgZmF1Y2lidXMgYmxhbmRpdCB2ZW5lbmF0aXMsIGFudGUgYW50ZSBvcm5hcmUgZW5pbSwg
YSBncmF2aWRhIGFudGUgbGVjdHVzIGlkIG1ldHVzLiBVdCBzZW0uIiwKLy8gICAgIkR1aXMgY29u
c2VjdGV0dWVyIGxlbyBxdWlzIGVsaXQuIFN1c3BlbmRpc3NlIHByZXRpdW0gbnVuYyBhYyBkb2xv
ci4gUXVpc3F1ZSBlbGVpZmVuZCBmcmluZ2lsbGEgbmlzbC4gU3VzcGVuZGlzc2UgcG90ZW50aS4g
RHVpcyB2ZWwgaXBzdW0gYXQgZW5pbSB0aW5jaWR1bnQgY29uc2VjdGV0dWVyLiBBbGlxdWFtIHRl
bXBvciBqdXN0byBuZWMgbWV0dXMuIE51bmMgYWMgdmVsaXQgaWQgbmliaCBjb25zZXF1YXQgdnVs
cHV0YXRlLiBDcmFzIHZlbCBkb2xvciBldSBtYXNzYSBsYWNpbmlhIHZvbHV0cGF0LiBDdXJhYml0
dXIgbmliaCBuaXNpLCBhdWN0b3IgZXQsIHRpbmNpZHVudCBlZ2V0LCBtb2xlc3RpZSB2ZWwsIG5l
cXVlLiBTZWQgc2VtcGVyIHZpdmVycmEgbmVxdWUuIE51bGxhbSByaG9uY3VzIGhlbmRyZXJpdCBs
aWJlcm8uIE51bGxhIGFkaXBpc2NpbmcuIEZ1c2NlIHBlZGUgbmliaCwgbGFjaW5pYSBhLCBtYWxl
c3VhZGEgYSwgZGljdHVtIG5lYywgcGVkZS4gRXRpYW0gdXQgbG9yZW0uIERvbmVjIHF1aXMgbWFz
c2Egdml0YWUgZXN0IHBoYXJldHJhIG1hdHRpcy4iLAovLyAgICAiTnVsbGFtIGR1aS4gTW9yYmkg
bnVsbGEgcXVhbSwgaW1wZXJkaWV0IGlhY3VsaXMsIGNvbnNlY3RldHVlciBhLCBwb3J0dGl0b3Ig
ZXUsIHNlbS4gRG9uZWMgaWQgaXBzdW0gdml0YWUgbmlzaSB2aXZlcnJhIHBvcnRhLiBJbiBoYWMg
aGFiaXRhc3NlIHBsYXRlYSBkaWN0dW1zdC4gSW4gbGlndWxhIGxpYmVybywgZGFwaWJ1cyBlbGVp
ZmVuZCwgZWxlaWZlbmQgdmVsLCBhY2N1bXNhbiBzaXQgYW1ldCwgZmVsaXMuIE1vcmJpIHRvcnRv
ci4gRG9uZWMgbWF0dGlzIHVsdHJpY2llcyBhcmN1LiBVdCBlZ2V0IGxlby4gU2VkIHZlbCBxdWFt
IGF0IGlwc3VtIHNvZGFsZXMgc2VtcGVyLiBDdXJhYml0dXIgdGluY2lkdW50IHF1YW0gaWQgb2Rp
by4gUXVpc3F1ZSBwb3J0YSwgbWFnbmEgdmVsIG5vbnVtbXkgcHVsdmluYXIsIGxpZ3VsYSB0ZWxs
dXMgZnJpbmdpbGxhIHRlbGx1cywgdXQgcGhhcmV0cmEgdHVycGlzIHZlbGl0IGFjIGVyb3MuIENy
YXMgZXUgZW5pbSB2ZWwgbWkgc3VzY2lwaXQgbWFsZXN1YWRhLiBQaGFzZWxsdXMgdXQgb3JjaS4g
QWVuZWFuIHZpdGFlIHR1cnBpcyB2aXRhZSBsZWN0dXMgbWFsZXN1YWRhIGFsaXF1ZXQuIgogIH07
CiAgCn0K
</data>

          </attachment>
      

    </bug>

</bugzilla>