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

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>259333</bug_id>
          
          <creation_ts>2010-12-09 15:54:29 +0000</creation_ts>
          <short_desc>KExtendableItemDelegate crashes in extendRect() on initial paint</short_desc>
          <delta_ts>2014-07-06 15:19:38 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kdelibs</product>
          <component>kdeui</component>
          <version>unspecified</version>
          <rep_platform>Ubuntu</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>crash</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Thomas">echidnaman</reporter>
          <assigned_to name="Andreas Hartmetz">ahartmetz</assigned_to>
          <cc>ahartmetz</cc>
    
    <cc>fd.svensson</cc>
    
    <cc>mirza.dervisevic</cc>
    
    <cc>rdesfo</cc>
    
    <cc>stavros.tsigas</cc>
    
    <cc>vladimir.tuboltsev</cc>
    
    <cc>yuberion</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1055870</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2010-12-09 15:54:29 +0000</bug_when>
    <thetext>Version:           unspecified (using KDE 4.5.85) 
OS:                Linux

I&apos;m using the KExtendableItemDelegate in the Muon Software Center. I have a reproducible crash that after my list view is completely deleted and a new one is created, I get a crash the first time I try to extend an extender.

I&apos;ve checked using kDebug() and have confirmed that the extender pointer is valid. (I even used a function with the pointer right before extending to check if the pointer was dangling or not) For some reason it seems to crash even though the extender is valid.

Here is a &quot;bt full&quot; backtrace from gdb, going back to the first paintSiblingsRecursive() call.


#0  0xb7dcd383 in KExtendableItemDelegate::extenderRect (this=0x8811588, 
    extender=0x890acc8, option=..., index=...)
    at ../../kdeui/itemviews/kextendableitemdelegate.cpp:313
        indentation = &lt;value optimized out&gt;
        rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}
#1  0xb7dce642 in KExtendableItemDelegate::paint (this=0x8811588, painter=0xbfffc3bc, 
    option=..., index=...) at ../../kdeui/itemviews/kextendableitemdelegate.cpp:277
        extOption = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 106753}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {static staticMetaObject = 
    {d = {superdata = 0x0, stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = true}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}, checkState = Qt::Unchecked, 
          icon = {d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::OnlyOne, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        indicatorX = 0
        indicatorOption = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 106753}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {
                    static staticMetaObject = {d = {superdata = 0x0, 
                        stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = true}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}, checkState = Qt::Unchecked, 
          icon = {d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::Beginning, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        itemOption = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 106753}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {
                    static staticMetaObject = {d = {superdata = 0x0, 
                        stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = true}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}, checkState = Qt::Unchecked, 
          icon = {d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::Beginning, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        extenderHeight = 33
        indicatorY = 0
        showExtensionIndicator = false
        cachedRow = 0
        parentIndex = {r = -1, c = -1, p = 0x0, m = 0x0}
        cachedStateTick = 2
        cachedParentIndex = {r = -1, c = -1, p = 0x0, m = 0x0}
        extender = 0x890acc8
        row = 0
#2  0x08069ed1 in ApplicationDelegate::paint (this=0x8811588, painter=0xbfffc3bc, 
    option=..., index=...)
    at /home/jonathan/src/muon/installer/ApplicationModel/ApplicationDelegate.cpp:90
        rect = {x1 = 16, y1 = 135597184, x2 = 0, y2 = -1224209664}
        p = {static staticMetaObject = {d = {superdata = 0x0, 
              stringdata = 0xb767f1a0 &quot;QPainter&quot;, data = 0xb767f240, extradata = 0x0}}, 
          d_ptr = {d = 0x0}}
        opa = &lt;value optimized out&gt;
        style = 0x812d490
        local_option_title = {&lt;QStyleOption&gt; = {version = 20, type = 146267888, state = {
              i = 19}, direction = 3075647488, rect = {x1 = -1, y1 = 143768120, x2 = 0, 
              y2 = 0}, fontMetrics = {d = {d = 0x8db70c0}}, palette = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, extradata = 0x0}}, 
              d = 0xffffffff, current_group = 0, resolve_mask = 0}}, displayAlignment = {
            i = 2}, decorationAlignment = {i = 12}, textElideMode = 65537, 
          decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 0, 
            ht = 0}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, extradata = 0x0}}, d = {
              d = 0xffffffff}, resolve_mask = 4294967295}, showDecorationSelected = 128}
        overlays = {&lt;QList&lt;QString&gt;&gt; = {{p = {static shared_null = {ref = {_q_value = 1}, 
                  alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
                d = 0xffffffff}, d = 0xffffffff}}, &lt;No data fields&gt;}
        leftCount = &lt;value optimized out&gt;
        top = 144287544
        width = &lt;value optimized out&gt;
        foregroundColor = {cspec = 132, ct = {argb = {alpha = 1, red = 0, green = 0, 
              blue = 0, pad = 16}, ahsv = {alpha = 1, hue = 0, saturation = 0, value = 0, 
              pad = 16}, acmyk = {alpha = 1, cyan = 0, magenta = 0, yellow = 0, 
              black = 16}, ahsl = {alpha = 1, hue = 0, saturation = 0, lightness = 0, 
              pad = 16}, array = {1, 0, 0, 0, 16}}}
        iconSize = &lt;value optimized out&gt;
        textWidth = &lt;value optimized out&gt;
        itemHeight = &lt;value optimized out&gt;
        topTextHeight = &lt;value optimized out&gt;
        leftToRight = true
        local_option_normal = {&lt;QStyleOption&gt; = {version = 143767552, type = 171390010, 
            state = {i = 1031}, direction = Qt::LeftToRight, rect = {x1 = 148598976, 
              y1 = 135110800, x2 = 0, y2 = 0}, fontMetrics = {d = {d = 0x0}}, palette = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, extradata = 0x0}}, 
              d = 0x0, current_group = 0, resolve_mask = 0}}, displayAlignment = {i = 0}, 
          decorationAlignment = {i = 143768120}, textElideMode = 144911456, 
          decorationPosition = 66, decorationSize = {wd = 0, ht = 602240}, font = {
            static staticMetaObject = {d = {superdata = 0x0, 
                stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, extradata = 0x0}}, d = {
              d = 0x8696400}, resolve_mask = 1}, showDecorationSelected = false}
        pixmap = {&lt;QPaintDevice&gt; = {_vptr.QPaintDevice = 0xbfffbf20, painters = 43848}, 
          data = {d = 0x8c4acf0}}
        opt = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 106753}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {
                    static staticMetaObject = {d = {superdata = 0x0, 
                        stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = true}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = -1, c = -1, p = 0x0, m = 0x0}, checkState = Qt::Unchecked, icon = {
            d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::OnlyOne, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        left = &lt;value optimized out&gt;
        ratingPainter = {d = 0x0}
        iconMode = &lt;value optimized out&gt;
        icon = {&lt;QIcon&gt; = {d = 0xbfffc12c}, d = 0xb6a60d01}
#3  0xb74e2664 in QTreeView::drawRow (this=0x89017b0, painter=0xbfffc3bc, option=..., 
    index=...) at itemviews/qtreeview.cpp:1678
        headerSection = 0
        nextLogicalSection = &lt;value optimized out&gt;
        prevLogicalSection = &lt;value optimized out&gt;
        currentLogicalSection = &lt;value optimized out&gt;
        parent = {r = -1, c = -1, p = 0x0, m = 0x0}
        spanning = false
        widgetHasFocus = true
        columnCount = 1
        reverse = false
        right = 0
        alternate = true
        indexWidgetHasFocus = false
        modelIndex = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}
        y = 1
        logicalIndices = {{d = 0x8369090, p = 0x8369090}}
        d = 0x8b7def0
        left = 779
        currentRowHasFocus = false
        width = 779
        height = &lt;value optimized out&gt;
        position = 0
        opt = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 106753}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {
                    static staticMetaObject = {d = {superdata = 0x0, 
                        stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = true}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = -1, c = -1, p = 0x0, m = 0x0}, checkState = Qt::Unchecked, icon = {
            d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::OnlyOne, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        current = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}
        enabled = true
        allColumnsShowFocus = false
        hoverRow = &lt;value optimized out&gt;
        header = 0x8db0148
        hover = {r = 0, c = 0, p = 0x87cf970, m = 0x899a738}
        logicalIndexBeforeLeft = -1
        logicalIndexAfterRight = -1
#4  0xb74e54b2 in QTreeView::drawTree (this=0x89017b0, painter=0xbfffc3bc, region=...)
    at itemviews/qtreeview.cpp:1441
        itemHeight = &lt;value optimized out&gt;
        area = {x1 = 0, y1 = 0, x2 = 778, y2 = 481}
        i = 0
        y = &lt;value optimized out&gt;
        a = &lt;value optimized out&gt;
        d = 0x8b7def0
        viewItems = {{d = 0x8a32c60, p = 0x8a32c60}}
        option = {&lt;QStyleOptionViewItemV3&gt; = {&lt;QStyleOptionViewItemV2&gt; = {&lt;QStyleOptionViewItem&gt; = {&lt;QStyleOption&gt; = {version = 4, type = 12, state = {i = 65537}, 
                  direction = Qt::LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 66}, 
                  fontMetrics = {d = {d = 0x8150c80}}, palette = {
                    static staticMetaObject = {d = {superdata = 0x0, 
                        stringdata = 0xb767e140 &quot;QPalette&quot;, data = 0xb767e280, 
                        extradata = 0x0}}, d = 0x811d598, current_group = 0, 
                    resolve_mask = 0}}, displayAlignment = {i = 129}, 
                decorationAlignment = {i = 132}, textElideMode = Qt::ElideRight, 
                decorationPosition = QStyleOptionViewItem::Left, decorationSize = {wd = 16, 
                  ht = 16}, font = {static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0xb767f520 &quot;QFont&quot;, data = 0xb767f600, 
                      extradata = 0x0}}, d = {d = 0x8150c80}, resolve_mask = 0}, 
                showDecorationSelected = false}, features = {i = 0}}, locale = {
              static staticMetaObject = {d = {superdata = 0x0, 
                  stringdata = 0xb6b1c2c0 &quot;QLocale&quot;, data = 0xb6b1d460, extradata = 0x0}}, {
                v = 0x10144, p = {index = 324, numberOptions = 1}}}, widget = 0x89017b0}, 
          index = {r = -1, c = -1, p = 0x0, m = 0x0}, checkState = Qt::Unchecked, icon = {
            d = 0x0}, text = {static null = {&lt;No data fields&gt;}, static shared_null = {
              ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x809304a, clean = 0, 
              simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, 
              array = {0}}, static shared_empty = {ref = {_q_value = 52}, alloc = 0, 
              size = 0, data = 0xb6b884b2, clean = 0, simpletext = 0, righttoleft = 0, 
              asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8093038, 
            static codecForCStrings = 0x0}, 
          viewItemPosition = QStyleOptionViewItemV4::Invalid, backgroundBrush = {d = {
              d = 0x80f9dc0}}}
        viewportWidth = 779
        drawn = {{d = 0x8093080, p = 0x8093080}}
        multipleRects = false
        rects = {{d = 0x8c4ab68, p = 0x8c4ab68}}
        firstVisibleItemOffset = 0
        firstVisibleItem = 0
#5  0xb74e5e3b in QTreeView::paintEvent (this=0x89017b0, event=0xbfffcc44)
    at itemviews/qtreeview.cpp:1274
        d = 0x8b7def0
        painter = {static staticMetaObject = {d = {superdata = 0x0, 
              stringdata = 0xb767f1a0 &quot;QPainter&quot;, data = 0xb767f240, extradata = 0x0}}, 
          d_ptr = {d = 0x867a2f0}}
#6  0xb6f808ae in QWidget::event (this=0x89017b0, event=0xbfffcc44)
    at kernel/qwidget.cpp:8346
        d = 0x8b7def0
#7  0xb7370fb3 in QFrame::event (this=0x89017b0, e=0xbfffcc44) at widgets/qframe.cpp:557
        result = &lt;value optimized out&gt;
#8  0xb73ff062 in QAbstractScrollArea::viewportEvent (this=0x89017b0, e=0xbfffcc44)
    at widgets/qabstractscrollarea.cpp:1043
No locals.
#9  0xb749f5c7 in QAbstractItemView::viewportEvent (this=0x89017b0, event=0xbfffcc44)
    at itemviews/qabstractitemview.cpp:1619
        d = &lt;value optimized out&gt;
#10 0xb74e72b3 in QTreeView::viewportEvent (this=0x89017b0, event=0xbfffcc44)
    at itemviews/qtreeview.cpp:1256
        d = &lt;value optimized out&gt;
#11 0xb7401955 in viewportEvent (this=0x8b4b808, o=0x8c46748, e=0xbfffcc44)
    at widgets/qabstractscrollarea_p.h:100
No locals.
#12 QAbstractScrollAreaFilter::eventFilter (this=0x8b4b808, o=0x8c46748, e=0xbfffcc44)
    at widgets/qabstractscrollarea_p.h:116
No locals.
#13 0xb6a4c7aa in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x80b89f0, 
    receiver=0x8c46748, event=0xbfffcc44) at kernel/qcoreapplication.cpp:847
        obj = 0x890acc8
        i = &lt;value optimized out&gt;
#14 0xb6f287f0 in QApplicationPrivate::notify_helper (this=0x80b89f0, receiver=0x8c46748, 
    e=0xbfffcc44) at kernel/qapplication.cpp:4441
        consumed = &lt;value optimized out&gt;
#15 0xb6f2d3cb in QApplication::notify (this=0xbffff1d8, receiver=0x8c46748, e=0xbfffcc44)
    at kernel/qapplication.cpp:4410
        d = 0x80b89f0
        res = false
#16 0xb7e00d4a in KApplication::notify (this=0xbffff1d8, receiver=0x8c46748, 
    event=0xbfffcc44) at ../../kdeui/kernel/kapplication.cpp:311
No locals.
#17 0xb6a4c60b in QCoreApplication::notifyInternal (this=0xbffff1d8, receiver=0x8c46748, 
    event=0xbfffcc44) at kernel/qcoreapplication.cpp:732
        threadData = 0x8098eb8
        returnValue = &lt;value optimized out&gt;
        result = false
        cbdata = {0x8c46748, 0xbfffcc44, 0xbfffcbcf}
        d = &lt;value optimized out&gt;
#18 0xb6f7d62c in sendSpontaneousEvent (this=0x8c48e00, pdev=0x8199fec, rgn=..., 
    offset=..., flags=4, sharedPainter=0x0, backingStore=0x8199fb0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
No locals.
#19 QWidgetPrivate::drawWidget (this=0x8c48e00, pdev=0x8199fec, rgn=..., offset=..., 
    flags=4, sharedPainter=0x0, backingStore=0x8199fb0) at kernel/qwidget.cpp:5433
        paintEngine = 0x827a530
        e = {&lt;QEvent&gt; = {_vptr.QEvent = 0xb7868850, static staticMetaObject = {d = {
                superdata = 0x0, stringdata = 0xb6b1f920 &quot;QEvent&quot;, data = 0xb6b20300, 
                extradata = 0x0}}, d = 0x0, t = 12, posted = 0, spont = 1, m_accept = 1, 
            reserved = 276}, m_rect = {x1 = 0, y1 = 0, x2 = 778, y2 = 481}, m_region = {
            d = 0x89af970, static shared_empty = {ref = {_q_value = 345}, rgn = 0x0, 
              xrectangles = 0x0, qt_rgn = 0x0}}, m_erased = false}
        onScreen = false
        asRoot = false
        toBePainted = {d = 0x89af970, static shared_empty = {ref = {_q_value = 345}, 
            rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}
#20 0xb6f7e29c in QWidgetPrivate::paintSiblingsRecursive (this=0x8b7def0, pdev=0x8199fec, 
    siblings=..., index=&lt;value optimized out&gt;, rgn=..., offset=..., flags=4, 
    sharedPainter=0x0, backingStore=0x8199fb0) at kernel/qwidget.cpp:5640
        wRegion = {d = 0x89af970, static shared_empty = {ref = {_q_value = 345}, rgn = 0x0, 
            xrectangles = 0x0, qt_rgn = 0x0}}
        w = &lt;value optimized out&gt;
        boundingRect = {x1 = 3, y1 = 3, x2 = 781, y2 = 484}
        dirtyBoundingRect = false
        exludeOpaqueChildren = false
        wd = 0x8c48e00
        hasMask = false

Reproducible: Always</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084334</commentid>
    <comment_count>1</comment_count>
    <who name="Pino Toscano">pino</who>
    <bug_when>2011-02-05 22:35:37 +0000</bug_when>
    <thetext>*** Bug 265548 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085966</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Hartmetz">ahartmetz</who>
    <bug_when>2011-02-09 20:52:11 +0000</bug_when>
    <thetext>Please check what Valgrind has to say.
Just that a pointer is non-null doesn&apos;t mean that it points to memory containing sensible/initialized/not deleted data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085977</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2011-02-09 21:15:19 +0000</bug_when>
    <thetext>I successfully ran a function of the pointee&apos;s right before the extend function was called s, so the widget being extended is indeed initialized right before being extended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085988</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2011-02-09 21:35:20 +0000</bug_when>
    <thetext>void ApplicationDelegate::itemActivated(QModelIndex index)
{
    if (index == m_oldIndex) {
        return;
    }

    if (isExtended(m_oldIndex)) {
        disconnect(m_extender, SIGNAL(infoButtonClicked(Application *)),
                   this, SIGNAL(infoButtonClicked(Application *)));
        disconnect(m_extender, SIGNAL(installButtonClicked(Application *)),
                   this, SIGNAL(installButtonClicked(Application *)));
        disconnect(m_extender, SIGNAL(removeButtonClicked(Application *)),
                   this, SIGNAL(removeButtonClicked(Application *)));
        disconnect(m_extender, SIGNAL(cancelButtonClicked(Application *)),
                   this, SIGNAL(cancelButtonClicked(Application *)));
        contractItem(m_oldIndex);

        m_extender-&gt;deleteLater();
        m_extender = 0;
    }

    Application *app = static_cast&lt;const ApplicationProxyModel*&gt;(index.model())-&gt;applicationAt(index);

    QTreeView *view = static_cast&lt;QTreeView*&gt;(parent());
    m_extender = new ApplicationExtender(view, app, m_appBackend);
    connect(m_extender, SIGNAL(infoButtonClicked(Application *)),
            this, SIGNAL(infoButtonClicked(Application *)));
    connect(m_extender, SIGNAL(installButtonClicked(Application *)),
            this, SIGNAL(installButtonClicked(Application *)));
    connect(m_extender, SIGNAL(removeButtonClicked(Application *)),
            this, SIGNAL(removeButtonClicked(Application *)));
    connect(m_extender, SIGNAL(cancelButtonClicked(Application *)),
            this, SIGNAL(cancelButtonClicked(Application *)));

    kDebug() &lt;&lt; m_extender-&gt;sizeHint().height();
    extendItem(m_extender, index);
    m_oldIndex = index;
}

In a situation where the crash occurs, the kDebug() in the above function gives a correct output of 33. This is also coincidentally the way in which the extender pointer is used internally in kextendableitemdelegate.cpp at line 313.

Since the extender pointer is valid right before KExtendableItemDelegate::extendItem() is called, something inside the KExtendableItemDelegate must mess up the pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086002</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2011-02-09 21:54:18 +0000</bug_when>
    <thetext>A clue; line 313 in kextendableitemdelegate.cpp is nested inside this if statement: if (isExtended(index)) {}

The extender is most definitely not extended at this point, as this crash happens with a totally new view.

Here&apos;s the valgrind log for posterity:
==2081== Invalid read of size 4
==2081==    at 0x45568E3: KExtendableItemDelegate::extenderRect(QWidget*, QStyleOptionViewItem const&amp;, QModelIndex const&amp;) const (kextendableitemdelegate.cpp:313)
==2081==    by 0x4557BA1: KExtendableItemDelegate::paint(QPainter*, QStyleOptionViewItem const&amp;, QModelIndex const&amp;) const (kextendableitemdelegate.cpp:277)
==2081==    by 0x806B9ED: ApplicationDelegate::paint(QPainter*, QStyleOptionViewItem const&amp;, QModelIndex const&amp;) const (ApplicationDelegate.cpp:90)
==2081==    by 0x53B1C03: QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&amp;, QModelIndex const&amp;) const (qtreeview.cpp:1678)
==2081==    by 0x53B4A71: QTreeView::drawTree(QPainter*, QRegion const&amp;) const (qtreeview.cpp:1441)
==2081==    by 0x53B53FA: QTreeView::paintEvent(QPaintEvent*) (qtreeview.cpp:1274)
==2081==    by 0x4E5068D: QWidget::event(QEvent*) (qwidget.cpp:8346)
==2081==    by 0x5240FB2: QFrame::event(QEvent*) (qframe.cpp:557)
==2081==    by 0x52CF861: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:1043)
==2081==    by 0x536E9C6: QAbstractItemView::viewportEvent(QEvent*) (qabstractitemview.cpp:1619)
==2081==    by 0x53B6872: QTreeView::viewportEvent(QEvent*) (qtreeview.cpp:1256)
==2081==    by 0x52D2154: QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) (qabstractscrollarea_p.h:100)
==2081==  Address 0x38 is not stack&apos;d, malloc&apos;d or (recently) free&apos;d
==2081==

Looking at the isExtended() function:

bool KExtendableItemDelegate::isExtended(const QModelIndex &amp;index) const
{
    return d-&gt;extenders.value(index);
}

d-&gt;extenders is a QHash of indices and QWidget *&apos;s. QHash docs state that if that the key passed to value() is not in the QHash, it will return a default-constructed value. If this default-constructed pointer happens to not be pointing at 0x0 (say, 0x38 maybe), then the return statement will return true even though 0x38 is not a valid pointer.

It would be much safer instead to use QHash::contains(key), as it is guaranteed to return false if the key is not present in the QHash. I am running a kdelibs build with this patch to see if this fixes the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086064</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2011-02-09 23:43:54 +0000</bug_when>
    <thetext>Hmm, it still happens when using contains(). The Qt docs also say that a default-constructed value for primitive types such as int and pointers default to 0.

This does however mean that somehow the KExtendableItemDelegate&apos;s internals mapped an invalid QWidget pointer to the index instead of the QWidget pointer provided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088306</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Hartmetz">ahartmetz</who>
    <bug_when>2011-02-16 03:04:42 +0000</bug_when>
    <thetext>I just had an idea. Check if the index is valid!
Maybe there is an extender (or more) with invalid index in the QHash. I might have to add a check for valid index, probably with a kWarning(), to prevent such errors in the future. Generally check if all indices are sane, like they don&apos;t change while KExtendableItemDelegate is using them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110096</commentid>
    <comment_count>8</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2011-04-21 15:05:35 +0000</bug_when>
    <thetext>*** Bug 271201 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110150</commentid>
    <comment_count>9</comment_count>
    <who name="Ac17">fd.svensson</who>
    <bug_when>2011-04-21 19:09:49 +0000</bug_when>
    <thetext>My Muon-updater Work perfectly after some update 19/4-11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158003</commentid>
    <comment_count>10</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2011-08-28 19:46:07 +0000</bug_when>
    <thetext>*** Bug 280941 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159757</commentid>
    <comment_count>11</comment_count>
    <who name="Jonathan Thomas">echidnaman</who>
    <bug_when>2011-09-04 20:06:00 +0000</bug_when>
    <thetext>*** Bug 281286 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163597</commentid>
    <comment_count>12</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2011-09-17 10:25:03 +0000</bug_when>
    <thetext>*** Bug 282176 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166710</commentid>
    <comment_count>13</comment_count>
      <attachid>63942</attachid>
    <who name="Vladimir">vladimir.tuboltsev</who>
    <bug_when>2011-09-25 07:30:39 +0000</bug_when>
    <thetext>Created attachment 63942
New crash information added by DrKonqi

muon-installer (1.2.1 &quot;Caustic Carrionite&quot;) on KDE Platform 4.7.1 (4.7.1) using Qt 4.7.4

- What I was doing when the application crashed:

I install any of application, then I find the other application and click on him, then muon center&apos;s crash.

I can repeat this error.

-- Backtrace (Reduced):
#7  0x00007fa013b73148 in KExtendableItemDelegate::extenderRect (this=0x27f51f0, extender=&lt;optimized out&gt;, option=&lt;optimized out&gt;, index=...) at ../../kdeui/itemviews/kextendableitemdelegate.cpp:313
#8  0x00007fa013b7412d in KExtendableItemDelegate::paint (this=0x27f51f0, painter=0x7fffd798d740, option=..., index=...) at ../../kdeui/itemviews/kextendableitemdelegate.cpp:277
#9  0x000000000042ad37 in ApplicationDelegate::paint (this=0x27f51f0, painter=0x7fffd798d740, option=..., index=...) at /build/buildd/muon-1.2.1/installer/ApplicationModel/ApplicationDelegate.cpp:90
#10 0x00007fa012f0baed in QTreeView::drawRow (this=0x1f75b20, painter=0x7fffd798d740, option=..., index=...) at itemviews/qtreeview.cpp:1678
#11 0x00007fa012f0e5b3 in QTreeView::drawTree (this=0x1f75b20, painter=0x7fffd798d740, region=&lt;optimized out&gt;) at itemviews/qtreeview.cpp:1441</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167285</commentid>
    <comment_count>14</comment_count>
    <who name="Andreas Hartmetz">ahartmetz</who>
    <bug_when>2011-09-26 19:22:23 +0000</bug_when>
    <thetext>Git commit fc923ff98a3d0aaf0fb57ca480ba022e2978c2ac by Andreas Hartmetz.
Committed on 26/09/2011 at 21:14.
Pushed by ahartmetz into branch &apos;KDE/4.7&apos;.

Don&apos;t use &quot;method static&quot; (ahem) variables for per-instance data.

When I wrote that code I didn&apos;t know that static data in member functions
is &quot;global&quot; - all instances use the same data. So if there is more than
one KExtendableItemDelegate in an application, it makes Bad Things happen.
At least it is binary compatible to remove the bogus variables.

This is officially a brown paper bag bug.

Hopefully fixes
BUG: 259333

M  +26   -21   kdeui/itemviews/kextendableitemdelegate.cpp

http://commits.kde.org/kdelibs/fc923ff98a3d0aaf0fb57ca480ba022e2978c2ac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459687</commentid>
    <comment_count>15</comment_count>
    <who name="Andreas Hartmetz">ahartmetz</who>
    <bug_when>2014-07-06 15:19:38 +0000</bug_when>
    <thetext>Seems fixed now with the commit from the last comment, please reopen if necessary.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63942</attachid>
            <date>2011-09-25 07:30:39 +0000</date>
            <delta_ts>2011-09-25 07:30:39 +0000</delta_ts>
            <desc>New crash information added by DrKonqi</desc>
            <filename>drkonqireport</filename>
            <type>text/plain</type>
            <size>11925</size>
            <attacher name="Vladimir">vladimir.tuboltsev</attacher>
            
              <data encoding="base64">QXBwbGljYXRpb246IG11b24taW5zdGFsbGVyICgxLjIuMSAiQ2F1c3RpYyBDYXJyaW9uaXRlIikK
S0RFIFBsYXRmb3JtIFZlcnNpb246IDQuNy4xICg0LjcuMSkKUXQgVmVyc2lvbjogNC43LjQKT3Bl
cmF0aW5nIFN5c3RlbTogTGludXggMy4wLjAtMTEtZ2VuZXJpYyB4ODZfNjQKRGlzdHJpYnV0aW9u
OiBVYnVudHUgb25laXJpYyAoZGV2ZWxvcG1lbnQgYnJhbmNoKQoKLS0gSW5mb3JtYXRpb24gYWJv
dXQgdGhlIGNyYXNoOgotIFdoYXQgSSB3YXMgZG9pbmcgd2hlbiB0aGUgYXBwbGljYXRpb24gY3Jh
c2hlZDoKCkkgaW5zdGFsbCBhbnkgb2YgYXBwbGljYXRpb24sIHRoZW4gSSBmaW5kIHRoZSBvdGhl
ciBhcHBsaWNhdGlvbiBhbmQgY2xpY2sgb24gaGltLCB0aGVuIG11b24gY2VudGVyJ3MgY3Jhc2gu
CgpJIGNhbiByZXBlYXQgdGhpcyBlcnJvci4KClRoZSBjcmFzaCBjYW4gYmUgcmVwcm9kdWNlZCBl
dmVyeSB0aW1lLgoKLS0gQmFja3RyYWNlOgpBcHBsaWNhdGlvbjog0KbQtdC90YLRgCDQv9GA0L7Q
s9GA0LDQvNC8IE11b24gKG11b24taW5zdGFsbGVyKSwgc2lnbmFsOiBTZWdtZW50YXRpb24gZmF1
bHQKW0N1cnJlbnQgdGhyZWFkIGlzIDEgKFRocmVhZCAweDdmYTAxNTYyNzc4MCAoTFdQIDMyOTQp
KV0KClRocmVhZCAyIChUaHJlYWQgMHg3ZmEwMDA4ZTA3MDAgKExXUCAzMjk1KSk6CiMwICAweDAw
MDA3ZmEwMGY1NTMxZGQgaW4gX19wdGhyZWFkX211dGV4X3VubG9ja191c2VyY250IChtdXRleD08
b3B0aW1pemVkIG91dD4sIGRlY3I9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX211dGV4X3Vu
bG9jay5jOjUyCiMxICBfX3B0aHJlYWRfbXV0ZXhfdW5sb2NrIChtdXRleD0weDFlNWNlNTgpIGF0
IHB0aHJlYWRfbXV0ZXhfdW5sb2NrLmM6MjkwCiMyICAweDAwMDA3ZmEwMGVhNmUxMDMgaW4gPz8g
KCkgZnJvbSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAw
N2ZhMDBlYTZlNTE5IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbiAoKSBmcm9tIC9saWIveDg2
XzY0LWxpbnV4LWdudS9saWJnbGliLTIuMC5zby4wCiM0ICAweDAwMDA3ZmEwMTQzYjJmM2UgaW4g
UUV2ZW50RGlzcGF0Y2hlckdsaWI6OnByb2Nlc3NFdmVudHMgKHRoaXM9MHgxZDhhYWMwLCBmbGFn
cz08b3B0aW1pemVkIG91dD4pIGF0IGtlcm5lbC9xZXZlbnRkaXNwYXRjaGVyX2dsaWIuY3BwOjQy
NAojNSAgMHgwMDAwN2ZhMDE0Mzg2Y2YyIGluIFFFdmVudExvb3A6OnByb2Nlc3NFdmVudHMgKHRo
aXM9PG9wdGltaXplZCBvdXQ+LCBmbGFncz0uLi4pIGF0IGtlcm5lbC9xZXZlbnRsb29wLmNwcDox
NDkKIzYgIDB4MDAwMDdmYTAxNDM4NmVmNyBpbiBRRXZlbnRMb29wOjpleGVjICh0aGlzPTB4N2Zh
MDAwOGRmZGQwLCBmbGFncz0uLi4pIGF0IGtlcm5lbC9xZXZlbnRsb29wLmNwcDoyMDEKIzcgIDB4
MDAwMDdmYTAxNDI5ZTI3ZiBpbiBRVGhyZWFkOjpleGVjICh0aGlzPTxvcHRpbWl6ZWQgb3V0Pikg
YXQgdGhyZWFkL3F0aHJlYWQuY3BwOjQ5OAojOCAgMHgwMDAwN2ZhMDE0MzY5Y2JmIGluIFFJbm90
aWZ5RmlsZVN5c3RlbVdhdGNoZXJFbmdpbmU6OnJ1biAodGhpcz0weDFkYWJjNTApIGF0IGlvL3Fm
aWxlc3lzdGVtd2F0Y2hlcl9pbm90aWZ5LmNwcDoyNDgKIzkgIDB4MDAwMDdmYTAxNDJhMGQwNSBp
biBRVGhyZWFkUHJpdmF0ZTo6c3RhcnQgKGFyZz0weDFkYWJjNTApIGF0IHRocmVhZC9xdGhyZWFk
X3VuaXguY3BwOjMzMQojMTAgMHgwMDAwN2ZhMDBmNTRmZWRjIGluIHN0YXJ0X3RocmVhZCAoYXJn
PTB4N2ZhMDAwOGUwNzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMwNAojMTEgMHgwMDAwN2ZhMDEy
MjAxODlkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9j
bG9uZS5TOjExMgojMTIgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCgpUaHJlYWQgMSAoVGhy
ZWFkIDB4N2ZhMDE1NjI3NzgwIChMV1AgMzI5NCkpOgpbS0NyYXNoIEhhbmRsZXJdCiM2ICAweDAw
MDA3ZmEwMTI3YWQyYjAgaW4gdnRhYmxlIGZvciBfX2N4eGFiaXYxOjpfX2NsYXNzX3R5cGVfaW5m
byAoKSBmcm9tIC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGlic3RkYysrLnNvLjYKIzcgIDB4
MDAwMDdmYTAxM2I3MzE0OCBpbiBLRXh0ZW5kYWJsZUl0ZW1EZWxlZ2F0ZTo6ZXh0ZW5kZXJSZWN0
ICh0aGlzPTB4MjdmNTFmMCwgZXh0ZW5kZXI9PG9wdGltaXplZCBvdXQ+LCBvcHRpb249PG9wdGlt
aXplZCBvdXQ+LCBpbmRleD0uLi4pIGF0IC4uLy4uL2tkZXVpL2l0ZW12aWV3cy9rZXh0ZW5kYWJs
ZWl0ZW1kZWxlZ2F0ZS5jcHA6MzEzCiM4ICAweDAwMDA3ZmEwMTNiNzQxMmQgaW4gS0V4dGVuZGFi
bGVJdGVtRGVsZWdhdGU6OnBhaW50ICh0aGlzPTB4MjdmNTFmMCwgcGFpbnRlcj0weDdmZmZkNzk4
ZDc0MCwgb3B0aW9uPS4uLiwgaW5kZXg9Li4uKSBhdCAuLi8uLi9rZGV1aS9pdGVtdmlld3Mva2V4
dGVuZGFibGVpdGVtZGVsZWdhdGUuY3BwOjI3NwojOSAgMHgwMDAwMDAwMDAwNDJhZDM3IGluIEFw
cGxpY2F0aW9uRGVsZWdhdGU6OnBhaW50ICh0aGlzPTB4MjdmNTFmMCwgcGFpbnRlcj0weDdmZmZk
Nzk4ZDc0MCwgb3B0aW9uPS4uLiwgaW5kZXg9Li4uKSBhdCAvYnVpbGQvYnVpbGRkL211b24tMS4y
LjEvaW5zdGFsbGVyL0FwcGxpY2F0aW9uTW9kZWwvQXBwbGljYXRpb25EZWxlZ2F0ZS5jcHA6OTAK
IzEwIDB4MDAwMDdmYTAxMmYwYmFlZCBpbiBRVHJlZVZpZXc6OmRyYXdSb3cgKHRoaXM9MHgxZjc1
YjIwLCBwYWludGVyPTB4N2ZmZmQ3OThkNzQwLCBvcHRpb249Li4uLCBpbmRleD0uLi4pIGF0IGl0
ZW12aWV3cy9xdHJlZXZpZXcuY3BwOjE2NzgKIzExIDB4MDAwMDdmYTAxMmYwZTViMyBpbiBRVHJl
ZVZpZXc6OmRyYXdUcmVlICh0aGlzPTB4MWY3NWIyMCwgcGFpbnRlcj0weDdmZmZkNzk4ZDc0MCwg
cmVnaW9uPTxvcHRpbWl6ZWQgb3V0PikgYXQgaXRlbXZpZXdzL3F0cmVldmlldy5jcHA6MTQ0MQoj
MTIgMHgwMDAwN2ZhMDEyZjBlZjUwIGluIFFUcmVlVmlldzo6cGFpbnRFdmVudCAodGhpcz0weDFm
NzViMjAsIGV2ZW50PTB4N2ZmZmQ3OThlMTkwKSBhdCBpdGVtdmlld3MvcXRyZWV2aWV3LmNwcDox
Mjc0CiMxMyAweDAwMDA3ZmEwMTJhMTJjNWMgaW4gUVdpZGdldDo6ZXZlbnQgKHRoaXM9MHgxZjc1
YjIwLCBldmVudD0weDdmZmZkNzk4ZTE5MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjg0NDEKIzE0
IDB4MDAwMDdmYTAxMmRiYjBkNiBpbiBRRnJhbWU6OmV2ZW50ICh0aGlzPTB4MWY3NWIyMCwgZT0w
eDdmZmZkNzk4ZTE5MCkgYXQgd2lkZ2V0cy9xZnJhbWUuY3BwOjU1NwojMTUgMHgwMDAwN2ZhMDEy
ZWNiZGNiIGluIFFBYnN0cmFjdEl0ZW1WaWV3Ojp2aWV3cG9ydEV2ZW50ICh0aGlzPTB4MWY3NWIy
MCwgZXZlbnQ9MHg3ZmZmZDc5OGUxOTApIGF0IGl0ZW12aWV3cy9xYWJzdHJhY3RpdGVtdmlldy5j
cHA6MTYyOAojMTYgMHgwMDAwN2ZhMDEyZjEwOTY1IGluIFFUcmVlVmlldzo6dmlld3BvcnRFdmVu
dCAodGhpcz0weDFmNzViMjAsIGV2ZW50PTB4N2ZmZmQ3OThlMTkwKSBhdCBpdGVtdmlld3MvcXRy
ZWV2aWV3LmNwcDoxMjU2CiMxNyAweDAwMDA3ZmEwMTQzODdjODggaW4gUUNvcmVBcHBsaWNhdGlv
blByaXZhdGU6OnNlbmRUaHJvdWdoT2JqZWN0RXZlbnRGaWx0ZXJzICh0aGlzPTxvcHRpbWl6ZWQg
b3V0PiwgcmVjZWl2ZXI9MHgyN2YwNmUwLCBldmVudD0weDdmZmZkNzk4ZTE5MCkgYXQga2VybmVs
L3Fjb3JlYXBwbGljYXRpb24uY3BwOjkwMgojMTggMHgwMDAwN2ZhMDEyOWMyM2ZmIGluIG5vdGlm
eV9oZWxwZXIgKGU9MHg3ZmZmZDc5OGUxOTAsIHJlY2VpdmVyPTB4MjdmMDZlMCwgdGhpcz0weDFj
MmUwZTApIGF0IGtlcm5lbC9xYXBwbGljYXRpb24uY3BwOjQ0ODIKIzE5IFFBcHBsaWNhdGlvblBy
aXZhdGU6Om5vdGlmeV9oZWxwZXIgKHRoaXM9MHgxYzJlMGUwLCByZWNlaXZlcj0weDI3ZjA2ZTAs
IGU9MHg3ZmZmZDc5OGUxOTApIGF0IGtlcm5lbC9xYXBwbGljYXRpb24uY3BwOjQ0NTgKIzIwIDB4
MDAwMDdmYTAxMjljNzJhMSBpbiBRQXBwbGljYXRpb246Om5vdGlmeSAodGhpcz0weDdmZmZkNzk5
MTVjMCwgcmVjZWl2ZXI9MHgyN2YwNmUwLCBlPTB4N2ZmZmQ3OThlMTkwKSBhdCBrZXJuZWwvcWFw
cGxpY2F0aW9uLmNwcDo0MzY1CiMyMSAweDAwMDA3ZmEwMTNiYTYyNjYgaW4gS0FwcGxpY2F0aW9u
Ojpub3RpZnkgKHRoaXM9MHg3ZmZmZDc5OTE1YzAsIHJlY2VpdmVyPTB4MjdmMDZlMCwgZXZlbnQ9
MHg3ZmZmZDc5OGUxOTApIGF0IC4uLy4uL2tkZXVpL2tlcm5lbC9rYXBwbGljYXRpb24uY3BwOjMx
MQojMjIgMHgwMDAwN2ZhMDE0Mzg3YWZjIGluIFFDb3JlQXBwbGljYXRpb246Om5vdGlmeUludGVy
bmFsICh0aGlzPTB4N2ZmZmQ3OTkxNWMwLCByZWNlaXZlcj0weDI3ZjA2ZTAsIGV2ZW50PTB4N2Zm
ZmQ3OThlMTkwKSBhdCBrZXJuZWwvcWNvcmVhcHBsaWNhdGlvbi5jcHA6Nzg3CiMyMyAweDAwMDA3
ZmEwMTJhMGZiOTQgaW4gc2VuZFNwb250YW5lb3VzRXZlbnQgKGV2ZW50PTB4N2ZmZmQ3OThlMTkw
LCByZWNlaXZlcj0weDI3ZjA2ZTApIGF0IC4uLy4uL2luY2x1ZGUvUXRDb3JlLy4uLy4uL3NyYy9j
b3JlbGliL2tlcm5lbC9xY29yZWFwcGxpY2F0aW9uLmg6MjE4CiMyNCBRV2lkZ2V0UHJpdmF0ZTo6
ZHJhd1dpZGdldCAodGhpcz0weDM0ZmM4MzAsIHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBvZmZz
ZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4
MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU1MjgKIzI1IDB4MDAwMDdmYTAxMmExMDc3MCBpbiBR
V2lkZ2V0UHJpdmF0ZTo6cGFpbnRTaWJsaW5nc1JlY3Vyc2l2ZSAodGhpcz0weDNkMGJiYzAsIHBk
ZXY9MHgxZTFmN2QwLCBzaWJsaW5ncz0uLi4sIGluZGV4PTxvcHRpbWl6ZWQgb3V0PiwgcmduPS4u
Liwgb2Zmc2V0PS4uLiwgZmxhZ3M9NCwgc2hhcmVkUGFpbnRlcj0weDAsIGJhY2tpbmdTdG9yZT0w
eDFkYTc0ODApIGF0IGtlcm5lbC9xd2lkZ2V0LmNwcDo1NzM1CiMyNiAweDAwMDA3ZmEwMTJhMTA2
NTAgaW4gUVdpZGdldFByaXZhdGU6OnBhaW50U2libGluZ3NSZWN1cnNpdmUgKHRoaXM9MHgzZDBi
YmMwLCBwZGV2PTB4MWUxZjdkMCwgc2libGluZ3M9Li4uLCBpbmRleD01LCByZ249Li4uLCBvZmZz
ZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4
MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3MjIKIzI3IDB4MDAwMDdmYTAxMmExMDY1MCBpbiBR
V2lkZ2V0UHJpdmF0ZTo6cGFpbnRTaWJsaW5nc1JlY3Vyc2l2ZSAodGhpcz0weDNkMGJiYzAsIHBk
ZXY9MHgxZTFmN2QwLCBzaWJsaW5ncz0uLi4sIGluZGV4PTYsIHJnbj0uLi4sIG9mZnNldD0uLi4s
IGZsYWdzPTQsIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBr
ZXJuZWwvcXdpZGdldC5jcHA6NTcyMgojMjggMHgwMDAwN2ZhMDEyYTEwNjUwIGluIFFXaWRnZXRQ
cml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4M2QwYmJjMCwgcGRldj0weDFl
MWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9NywgcmduPS4uLiwgb2Zmc2V0PS4uLiwgZmxhZ3M9
NCwgc2hhcmVkUGFpbnRlcj0weDAsIGJhY2tpbmdTdG9yZT0weDFkYTc0ODApIGF0IGtlcm5lbC9x
d2lkZ2V0LmNwcDo1NzIyCiMyOSAweDAwMDA3ZmEwMTJhMTA2NTAgaW4gUVdpZGdldFByaXZhdGU6
OnBhaW50U2libGluZ3NSZWN1cnNpdmUgKHRoaXM9MHgzZDBiYmMwLCBwZGV2PTB4MWUxZjdkMCwg
c2libGluZ3M9Li4uLCBpbmRleD04LCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFy
ZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4MCkgYXQga2VybmVsL3F3aWRnZXQu
Y3BwOjU3MjIKIzMwIDB4MDAwMDdmYTAxMmEwZjhlYyBpbiBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dp
ZGdldCAodGhpcz0weDNkMGJiYzAsIHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBvZmZzZXQ9Li4u
LCBmbGFncz08b3B0aW1pemVkIG91dD4sIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9
MHgxZGE3NDgwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6NTU4MQojMzEgMHgwMDAwN2ZhMDEyYTEw
NzcwIGluIFFXaWRnZXRQcml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4MzUw
OGVjMCwgcGRldj0weDFlMWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9PG9wdGltaXplZCBvdXQ+
LCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2lu
Z1N0b3JlPTB4MWRhNzQ4MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3MzUKIzMyIDB4MDAwMDdm
YTAxMmEwZjhlYyBpbiBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dpZGdldCAodGhpcz0weDM1MDhlYzAs
IHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz08b3B0aW1pemVkIG91
dD4sIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBrZXJuZWwv
cXdpZGdldC5jcHA6NTU4MQojMzMgMHgwMDAwN2ZhMDEyYTEwNzcwIGluIFFXaWRnZXRQcml2YXRl
OjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4MmRiM2YwMCwgcGRldj0weDFlMWY3ZDAs
IHNpYmxpbmdzPS4uLiwgaW5kZXg9PG9wdGltaXplZCBvdXQ+LCByZ249Li4uLCBvZmZzZXQ9Li4u
LCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4MCkgYXQg
a2VybmVsL3F3aWRnZXQuY3BwOjU3MzUKIzM0IDB4MDAwMDdmYTAxMmEwZjhlYyBpbiBRV2lkZ2V0
UHJpdmF0ZTo6ZHJhd1dpZGdldCAodGhpcz0weDJkYjNmMDAsIHBkZXY9MHgxZTFmN2QwLCByZ249
Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz08b3B0aW1pemVkIG91dD4sIHNoYXJlZFBhaW50ZXI9MHgw
LCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6NTU4MQojMzUg
MHgwMDAwN2ZhMDEyYTEwNzcwIGluIFFXaWRnZXRQcml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJz
aXZlICh0aGlzPTB4M2QzZWRlMCwgcGRldj0weDFlMWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9
PG9wdGltaXplZCBvdXQ+LCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWlu
dGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3
MzUKIzM2IDB4MDAwMDdmYTAxMmEwZjhlYyBpbiBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dpZGdldCAo
dGhpcz0weDNkM2VkZTAsIHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFn
cz08b3B0aW1pemVkIG91dD4sIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3
NDgwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6NTU4MQojMzcgMHgwMDAwN2ZhMDEyYTEwNzcwIGlu
IFFXaWRnZXRQcml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4MWRiMmU5MCwg
cGRldj0weDFlMWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9PG9wdGltaXplZCBvdXQ+LCByZ249
Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3Jl
PTB4MWRhNzQ4MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3MzUKIzM4IDB4MDAwMDdmYTAxMmEw
ZjhlYyBpbiBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dpZGdldCAodGhpcz0weDFkYjJlOTAsIHBkZXY9
MHgxZTFmN2QwLCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz08b3B0aW1pemVkIG91dD4sIHNo
YXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBrZXJuZWwvcXdpZGdl
dC5jcHA6NTU4MQojMzkgMHgwMDAwN2ZhMDEyYTEwNzcwIGluIFFXaWRnZXRQcml2YXRlOjpwYWlu
dFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4MWRhYWE2MCwgcGRldj0weDFlMWY3ZDAsIHNpYmxp
bmdzPS4uLiwgaW5kZXg9PG9wdGltaXplZCBvdXQ+LCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFn
cz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4MCkgYXQga2VybmVs
L3F3aWRnZXQuY3BwOjU3MzUKIzQwIDB4MDAwMDdmYTAxMmEwZjhlYyBpbiBRV2lkZ2V0UHJpdmF0
ZTo6ZHJhd1dpZGdldCAodGhpcz0weDFkYWFhNjAsIHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBv
ZmZzZXQ9Li4uLCBmbGFncz08b3B0aW1pemVkIG91dD4sIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNr
aW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6NTU4MQojNDEgMHgwMDAw
N2ZhMDEyYTEwNzcwIGluIFFXaWRnZXRQcml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0
aGlzPTB4MWQ5MjFlMCwgcGRldj0weDFlMWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9PG9wdGlt
aXplZCBvdXQ+LCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4
MCwgYmFja2luZ1N0b3JlPTB4MWRhNzQ4MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3MzUKIzQy
IDB4MDAwMDdmYTAxMmEwZjhlYyBpbiBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dpZGdldCAodGhpcz0w
eDFkOTIxZTAsIHBkZXY9MHgxZTFmN2QwLCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz08b3B0
aW1pemVkIG91dD4sIHNoYXJlZFBhaW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBh
dCBrZXJuZWwvcXdpZGdldC5jcHA6NTU4MQojNDMgMHgwMDAwN2ZhMDEyYTEwNzcwIGluIFFXaWRn
ZXRQcml2YXRlOjpwYWludFNpYmxpbmdzUmVjdXJzaXZlICh0aGlzPTB4MWQ5NWE1MCwgcGRldj0w
eDFlMWY3ZDAsIHNpYmxpbmdzPS4uLiwgaW5kZXg9PG9wdGltaXplZCBvdXQ+LCByZ249Li4uLCBv
ZmZzZXQ9Li4uLCBmbGFncz00LCBzaGFyZWRQYWludGVyPTB4MCwgYmFja2luZ1N0b3JlPTB4MWRh
NzQ4MCkgYXQga2VybmVsL3F3aWRnZXQuY3BwOjU3MzUKIzQ0IDB4MDAwMDdmYTAxMmEwZjhlYyBp
biBRV2lkZ2V0UHJpdmF0ZTo6ZHJhd1dpZGdldCAodGhpcz0weDFkOTVhNTAsIHBkZXY9MHgxZTFm
N2QwLCByZ249Li4uLCBvZmZzZXQ9Li4uLCBmbGFncz08b3B0aW1pemVkIG91dD4sIHNoYXJlZFBh
aW50ZXI9MHgwLCBiYWNraW5nU3RvcmU9MHgxZGE3NDgwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6
NTU4MQojNDUgMHgwMDAwN2ZhMDEyYmQyZDUzIGluIFFXaWRnZXRCYWNraW5nU3RvcmU6OnN5bmMg
KHRoaXM9MHgxZGE3NDgwKSBhdCBwYWludGluZy9xYmFja2luZ3N0b3JlLmNwcDoxMzM4CiM0NiAw
eDAwMDA3ZmEwMTJhMDYzNzAgaW4gUVdpZGdldFByaXZhdGU6OnN5bmNCYWNraW5nU3RvcmUgKHRo
aXM9MHgxZDk1YTUwKSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6MTg2MgojNDcgMHgwMDAwN2ZhMDEy
YTEzMTZjIGluIFFXaWRnZXQ6OmV2ZW50ICh0aGlzPTB4MWQ5NGU0MCwgZXZlbnQ9MHgyYTg1NmIw
KSBhdCBrZXJuZWwvcXdpZGdldC5jcHA6ODU4OAojNDggMHgwMDAwN2ZhMDEyZGQ0OGNiIGluIFFN
YWluV2luZG93OjpldmVudCAodGhpcz0weDFkOTRlNDAsIGV2ZW50PTB4MmE4NTZiMCkgYXQgd2lk
Z2V0cy9xbWFpbndpbmRvdy5jcHA6MTQ3OAojNDkgMHgwMDAwN2ZhMDEzY2EyOGM4IGluIEtYbWxH
dWlXaW5kb3c6OmV2ZW50ICh0aGlzPTB4MWQ5NGU0MCwgZXY9MHgyYTg1NmIwKSBhdCAuLi8uLi9r
ZGV1aS94bWxndWkva3htbGd1aXdpbmRvdy5jcHA6MTI2CiM1MCAweDAwMDA3ZmEwMTI5YzI0MzQg
aW4gbm90aWZ5X2hlbHBlciAoZT0weDJhODU2YjAsIHJlY2VpdmVyPTB4MWQ5NGU0MCwgdGhpcz0w
eDFjMmUwZTApIGF0IGtlcm5lbC9xYXBwbGljYXRpb24uY3BwOjQ0ODYKIzUxIFFBcHBsaWNhdGlv
blByaXZhdGU6Om5vdGlmeV9oZWxwZXIgKHRoaXM9MHgxYzJlMGUwLCByZWNlaXZlcj0weDFkOTRl
NDAsIGU9MHgyYTg1NmIwKSBhdCBrZXJuZWwvcWFwcGxpY2F0aW9uLmNwcDo0NDU4CiM1MiAweDAw
MDA3ZmEwMTI5YzcyYTEgaW4gUUFwcGxpY2F0aW9uOjpub3RpZnkgKHRoaXM9MHg3ZmZmZDc5OTE1
YzAsIHJlY2VpdmVyPTB4MWQ5NGU0MCwgZT0weDJhODU2YjApIGF0IGtlcm5lbC9xYXBwbGljYXRp
b24uY3BwOjQzNjUKIzUzIDB4MDAwMDdmYTAxM2JhNjI2NiBpbiBLQXBwbGljYXRpb246Om5vdGlm
eSAodGhpcz0weDdmZmZkNzk5MTVjMCwgcmVjZWl2ZXI9MHgxZDk0ZTQwLCBldmVudD0weDJhODU2
YjApIGF0IC4uLy4uL2tkZXVpL2tlcm5lbC9rYXBwbGljYXRpb24uY3BwOjMxMQojNTQgMHgwMDAw
N2ZhMDE0Mzg3YWZjIGluIFFDb3JlQXBwbGljYXRpb246Om5vdGlmeUludGVybmFsICh0aGlzPTB4
N2ZmZmQ3OTkxNWMwLCByZWNlaXZlcj0weDFkOTRlNDAsIGV2ZW50PTB4MmE4NTZiMCkgYXQga2Vy
bmVsL3Fjb3JlYXBwbGljYXRpb24uY3BwOjc4NwojNTUgMHgwMDAwN2ZhMDE0MzhiNTFmIGluIHNl
bmRFdmVudCAoZXZlbnQ9MHgyYTg1NmIwLCByZWNlaXZlcj0weDFkOTRlNDApIGF0IC4uLy4uL2lu
Y2x1ZGUvUXRDb3JlLy4uLy4uL3NyYy9jb3JlbGliL2tlcm5lbC9xY29yZWFwcGxpY2F0aW9uLmg6
MjE1CiM1NiBRQ29yZUFwcGxpY2F0aW9uUHJpdmF0ZTo6c2VuZFBvc3RlZEV2ZW50cyAocmVjZWl2
ZXI9MHgwLCBldmVudF90eXBlPTAsIGRhdGE9MHgxYzAzYmUwKSBhdCBrZXJuZWwvcWNvcmVhcHBs
aWNhdGlvbi5jcHA6MTQyOAojNTcgMHgwMDAwN2ZhMDE0M2IyYTczIGluIHNlbmRQb3N0ZWRFdmVu
dHMgKCkgYXQgLi4vLi4vaW5jbHVkZS9RdENvcmUvLi4vLi4vc3JjL2NvcmVsaWIva2VybmVsL3Fj
b3JlYXBwbGljYXRpb24uaDoyMjAKIzU4IHBvc3RFdmVudFNvdXJjZURpc3BhdGNoIChzPTxvcHRp
bWl6ZWQgb3V0PikgYXQga2VybmVsL3FldmVudGRpc3BhdGNoZXJfZ2xpYi5jcHA6Mjc3CiM1OSAw
eDAwMDA3ZmEwMGVhNmRiNGQgaW4gZ19tYWluX2NvbnRleHRfZGlzcGF0Y2ggKCkgZnJvbSAvbGli
L3g4Nl82NC1saW51eC1nbnUvbGliZ2xpYi0yLjAuc28uMAojNjAgMHgwMDAwN2ZhMDBlYTZlMzQ4
IGluID8/ICgpIGZyb20gL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmdsaWItMi4wLnNvLjAKIzYx
IDB4MDAwMDdmYTAwZWE2ZTUxOSBpbiBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKCkgZnJvbSAv
bGliL3g4Nl82NC1saW51eC1nbnUvbGliZ2xpYi0yLjAuc28uMAojNjIgMHgwMDAwN2ZhMDE0M2Iy
ZWQ2IGluIFFFdmVudERpc3BhdGNoZXJHbGliOjpwcm9jZXNzRXZlbnRzICh0aGlzPTB4MWMwNTZm
MCwgZmxhZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCBrZXJuZWwvcWV2ZW50ZGlzcGF0Y2hlcl9nbGli
LmNwcDo0MjIKIzYzIDB4MDAwMDdmYTAxMmE2OWNjZSBpbiBRR3VpRXZlbnREaXNwYXRjaGVyR2xp
Yjo6cHJvY2Vzc0V2ZW50cyAodGhpcz08b3B0aW1pemVkIG91dD4sIGZsYWdzPTxvcHRpbWl6ZWQg
b3V0PikgYXQga2VybmVsL3FndWlldmVudGRpc3BhdGNoZXJfZ2xpYi5jcHA6MjA0CiM2NCAweDAw
MDA3ZmEwMTQzODZjZjIgaW4gUUV2ZW50TG9vcDo6cHJvY2Vzc0V2ZW50cyAodGhpcz08b3B0aW1p
emVkIG91dD4sIGZsYWdzPS4uLikgYXQga2VybmVsL3FldmVudGxvb3AuY3BwOjE0OQojNjUgMHgw
MDAwN2ZhMDE0Mzg2ZWY3IGluIFFFdmVudExvb3A6OmV4ZWMgKHRoaXM9MHg3ZmZmZDc5OTE1NTAs
IGZsYWdzPS4uLikgYXQga2VybmVsL3FldmVudGxvb3AuY3BwOjIwMQojNjYgMHgwMDAwN2ZhMDE0
MzhiNzg5IGluIFFDb3JlQXBwbGljYXRpb246OmV4ZWMgKCkgYXQga2VybmVsL3Fjb3JlYXBwbGlj
YXRpb24uY3BwOjEwNjQKIzY3IDB4MDAwMDAwMDAwMDQxYmQ2NyBpbiBtYWluIChhcmdjPTUsIGFy
Z3Y9MHg3ZmZmZDc5OTE4MzgpIGF0IC9idWlsZC9idWlsZGQvbXVvbi0xLjIuMS9pbnN0YWxsZXIv
bWFpbi5jcHA6NjEKClBvc3NpYmxlIGR1cGxpY2F0ZXMgYnkgcXVlcnk6IGJ1ZyAyODIxNzYsIGJ1
ZyAyODA5NDEsIGJ1ZyAyNzEyMDEsIGJ1ZyAyNjU1NDgsIGJ1ZyAyNTkzMzMuCgpSZXBvcnRlZCB1
c2luZyBEcktvbnFp
</data>

          </attachment>
      

    </bug>

</bugzilla>