<?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>98967</bug_id>
          
          <creation_ts>2012-10-10 16:32:33 -0700</creation_ts>
          <short_desc>[CSS Exclusions] Points on the bottom and right edges of an exclusion shape should be classified as &quot;outside&quot;</short_desc>
          <delta_ts>2012-10-22 13:14:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739385</commentid>
    <comment_count>0</comment_count>
      <attachid>168091</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-10 16:32:33 -0700</bug_when>
    <thetext>Created attachment 168091
Diagram: illustrate line inside/outside limits for exclusion shapes

We should a point X,Y to be &quot;inside&quot; an exclusion shape rectangle if

     Y &gt;= rectangleY and Y &lt; rectangleY + rectangleHeight
     X &gt;= rectangleX and X &lt; rectangleX+ rectangleWidth

Polygon vertices or horizontal edges with maximal Y values are similarly not inside the polygon.  Hopefully the diagram makes this clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746504</commentid>
    <comment_count>1</comment_count>
      <attachid>169666</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-19 11:50:16 -0700</bug_when>
    <thetext>Created attachment 169666
Patch

Changed the way lines are represented in the ExclusionShapeInsideInfo and ExclusionShape classes so that they&apos;re consistent with the rendering code that depends on them.  Lines are now defined by logicalTop, logicalHeight, instead of logicalTop,logicalBottom.  This a clean-up, not a change in functionality. It&apos;s already covered by the existing fast/exclusions LayoutTests.

Did not change the way line segements are represented, since what we&apos;re using is already consistent with the rest of the rendering code.  

The only material impact from the bug fix is a change to ExclusionShape::lineOverlapsBounds() which used to return 

   return m_lineTop &lt;= shapeBounds.maxY() &amp;&amp; m_lineBottom &gt;= shapeBounds.y();

and now returns:

    return m_lineTop &lt; shapeBounds.maxY() &amp;&amp; m_lineTop + m_lineHeight &gt;= shapeBounds.y();

This is consistent with the attached diagram: a line whose top is the same as the exclusion shape&apos;s top+height is considered outside the shape.    A line whose top equals the shape&apos;s top is considered inside.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746549</commentid>
    <comment_count>2</comment_count>
      <attachid>169666</attachid>
    <who name="Bear Travis">betravis</who>
    <bug_when>2012-10-19 12:44:06 -0700</bug_when>
    <thetext>Comment on attachment 169666
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169666&amp;action=review

Overall, looks to be a pretty straightforward change.

&gt; Source/WebCore/rendering/ExclusionShapeInsideInfo.h:100
&gt; +    return m_lineTop &lt; shapeBounds.maxY() &amp;&amp; m_lineTop + m_lineHeight &gt;= shapeBounds.y();

Is there a way to add a test for this behavior? Perhaps using a rectangular shape-inside with a line height of 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746653</commentid>
    <comment_count>3</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-19 14:34:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 169666 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169666&amp;action=review
&gt; 
&gt; Overall, looks to be a pretty straightforward change.
&gt; 
&gt; &gt; Source/WebCore/rendering/ExclusionShapeInsideInfo.h:100
&gt; &gt; +    return m_lineTop &lt; shapeBounds.maxY() &amp;&amp; m_lineTop + m_lineHeight &gt;= shapeBounds.y();
&gt; 
&gt; Is there a way to add a test for this behavior? Perhaps using a rectangular shape-inside with a line height of 0?

I think LayoutTests/fast/exclusions/shape-inside/shape-inside-inline-elements.html covers this case.  It creates lines with lineHeight=0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747719</commentid>
    <comment_count>4</comment_count>
      <attachid>169948</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-22 11:31:26 -0700</bug_when>
    <thetext>Created attachment 169948
Patch

Added the test Bear suggested, just to make sure this particular case is pinned down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747794</commentid>
    <comment_count>5</comment_count>
      <attachid>169948</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-10-22 13:02:28 -0700</bug_when>
    <thetext>Comment on attachment 169948
Patch

LGTM. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747809</commentid>
    <comment_count>6</comment_count>
      <attachid>169948</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 13:14:19 -0700</bug_when>
    <thetext>Comment on attachment 169948
Patch

Clearing flags on attachment: 169948

Committed r132127: &lt;http://trac.webkit.org/changeset/132127&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747810</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 13:14:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>168091</attachid>
            <date>2012-10-10 16:32:33 -0700</date>
            <delta_ts>2012-10-10 16:32:33 -0700</delta_ts>
            <desc>Diagram: illustrate line inside/outside limits for exclusion shapes</desc>
            <filename>diagram.png</filename>
            <type>image/png</type>
            <size>32385</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">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
NaXDpE9JP5LByKjJBMsUy/TLYmTVZUNkT8k+lsPJbZGjypXLDckzyhvKx8nXyo8pcCnYKKQpNCvM
KYopeioeUexV/KmkphSuVKn0Spld2Uo5TblV+bOKjIqfSrHKU1UmVTPVPaotqgubZTcHbD69+bka
SW2rWpZap9oPdQ11mnq9+oyGmIaPRonGkCaHpr1mjuadLbgtRlv2bGnbsqKlrhWj1aj1SVteO0z7
vPa0jqROgE6lzriuiC5F94zuqB5Zz0evTG9UX1ifol+u/9ZA1MDfoMrgnaG0YahhneGckZIRzeiq
0bKxlnGy8S0T1MTcJNvkoSm7qYtpkemImYhZkFmt2by5mvku81sWOAtriyMWQ5YCln6WNZbzVhpW
yVZd1ozWTtZF1m9tZGxoNq1bMVutth7bOmwrbku1bbYDdpZ2x+xe20va77S/7oB3sHcodphyVHbc
7djrRHLydjrv9NXZyDnP+ZWLlEusS6cri+t21xrXZTcTt6Nuo+6K7snu9z14PUI8WjwJnq6eVZ5L
20y3Hd82uV1te+b2wR2SOxJ23PXi9Qr3avdm8aZ4X/bB+bj5nPf5TrGjlFOWfC19S3zn/Yz9Tvh9
8Dfwz/efCdANOBrwLlA38GjgdJBu0LGgmWD94ILg2RDjkKKQhVCL0NLQ5TC7sOqw9XC38IYIugif
iGtUdmoYtStSMDIh8nGUbFRm1OhOrZ3Hd87TrGlV0Uj0juiWGA54ye2LlYrdFzsWpxdXHPct3jX+
cgJbAjWhL1Em8UDiuySzpLO7sLv8dnXuFt6dunss2TD5TAqS4pvSuUd0T8aeyb3me8+lElPDUh+k
KaUdTfuS7pbemiGQsTdjfJ/5vtpM5kxa5lCWdlbpfuz+kP0PD6geOHngZ7Z/9r2DSgcLDn7P8cu5
d0j5UOGh9dzA3Id56nmnD+MPUw8PHtE/cu4o29Gko+PHth5ryifnZ+d/Oe59/G7B5oLSE8QTsSdG
C20KW06KnTx88ntRcNGzYqPihhL+kgMly6f8Tw2cNjhdXypQerB0tSyk7PkZ8zNN5RLlBRX4iriK
qUrXyt6zmmdrqnirDlb9qKZWj55zPNdVo1FTc57/fF4tpja2dqZue92jCyYXWurl6880cDUcvAgu
xl58f8nn0mCjdWPnZc3L9VfEr5RcJV3NbkKaEpvmm4ObR1s8Wh5fs7rW2ardevW6wvXqNuG24nbO
9rwbxBsZN9ZvJt1cuhV1a7YjqGO807vz1W3320+7HLoedlt33+kx67nda9h7847unba7Wnev3dO8
13xf/X5Tn1rf1QdqD64+VH/Y1K/R3/Joy6PWxzqPbwzoD3Q8MXnS89Ty6f1nts8eD7oMPh/aPjT6
3P/59IvwFwsv416uvdo7jBvOfs36umCEf6T8jfSbhlH10fYxk7G+t05vX437jX+YiJ74PpkxxTRV
8E7oXc20ynTbjNnMo/fb3k9+iPqwNpv5ke1jyZzU3JVPBp/65t3nJxdoC+ufcxZ5Fqu/bP7SuWS/
NPI14uvacvY3nm/nVjRXelfdVt+txX8nfC/8If2j9af1z+H1iPX1KAqN8usugMISExgIwOdqGBd5
AEB6BACR+a/Y6BcHvO4ikAdiV+QAZieqCW8/k7g7+GpCHl0ifQBxG4MLowOTK7MjiyerD1swO5WU
ydHNxbZpG3cVzwKfDn+WwAshJXKK8FNRWbF08deSWlKF0l9lneWuKHAqJiqNqdioNqrxq2dqfNri
rNWmI6K7X2/OwNHwqjG3SYLpC3NNixOWS9bONrVbx+1I9oYOEY4nnDqcp1yJbtLuZh5enrRt6dsP
7yj2OuNd5XOOUu1b7VfhfzrgcOCeIGqwV4htqE6YbDhfBEPEKnUm8nlU785mWnV0Qcy+2Jg4v3jH
BMNEuaRNu5Bds7uHkjtS6vac2JuaGpHmnm6cobCPNxOXuZA1vP/OgSvZZQdzcg4dysvNzcs9nHvk
0NGDx/bnpx1PLog5EV7oe9K1yLJYu0TuFP9phtOrpVNlD89cLi+s2F3pe9aiSqGao3rt3Nuae+cv
1RbVpV0Ir3dp0L8ofYl06Wfj9OUnV1quljTtbfZrMb0m2UrXOn29t+1se+qN7Tc1brHemuno6Cy8
Te0y7ubpXuh51Hv5TsHdpHte9436pB4wP1h6ONzf9aju8fGBlCdBT+2faQ2KDjENLT8fezHwsvNV
43D56yMje99Eju4Ys3qrNk6eIE58nnwxdfNd5XTWTNj7rR8UZhlnhz6WzYV90pjHzQ8t1H3OWPT5
Yrgk/pXl64/l+W/TK29X366Nf5/68fHnl/X1X/43xRiiiugctgOXhXciKNBx0r2j7yFWMeQwxjF5
M1uwaLAKsDGw/SQpcnhx5nP1caM8GrzBfGf4XwvyCjmQc4X7RIli5uL7JO5K0UlbyeTKPpUXUghW
vKqMqtipntw8ri6vEa/ZqcWg7aRTrDumL20QYdhotGKiZ5pu1mb+3GLG8ps13oZtq6CtpJ2ivaqD
uqO6k6qzvIu4K58biztw/+Qx4vlgW+v2Mzv2em3zVvNh8ZmhdPmW+e3ydwlQDCQGTgbdCi4OiQ91
CJMLJ4S/jWinnoykRdnslKAB2svoyzGHYoPiDOP54r8kPEysTkrbtW335mTG5KmUm3sK90anuqfp
pYtm0GXM7Xua2ZpVtn/fgbBs+4NqOTw564cmcu/k1R8+eiTu6LZj+vnk4+D4m4KbJ8oKU09SioyK
RUuwJZOnek/XlB4so56xL1et4Kz4Vvnq7I2q8uq0c741RudFatHa8brbFyrr0xv8L5pcEmvENk5c
7r5y9mpGk3+zSYvYNfy12dZn12+01bQfu5FyM+yWR4d5p8ZtqS7ebuYeTM+33rk7k3df3xu83993
90Hfw/7+x4+ePB4ceP7k5dPhZyODo0Nvn0+8mHr57tX74dnX8yOLb76OrrxFxsUnbCcTp6rfvZhh
e2/74cjsizmZT+nz459tFq8vqX5t+Ka6cn3N7PvQz5Df/ldAPmBOoU5YOuw1XBxeHb9AaKFLobcg
8hPnGboYC5hCmU1ZhFl+suHZuUgyHFs4TblcN4Vy7+U5znuBr5t/RGBViIOsJGwrEimaK3ZBvF9i
UYpbWl8mSDZH7qL8kMIPJWFlM5Vg1ezNdWoP1Gc1GbdIaVlo++vs0S3Rq9evNThtmGeUYhxm4m5q
YCZhTm8+bdFtedoqxtrMhsNmdOt5W5qdut2qfbtDiqOW45LTRecwF3GXN65Fbs7uzO69HqmeWp6L
2+q2B+0Q2jHkddjb0gfxaaMk+W7xXfZr8o8JUAlYCGwIigiWCZ4OqQr1DyOHvQ4vinClkqj9kQej
LHbidt6mpUbrRX+PuRabEKcWtxBfnxCWKJk4nlQKZwrX7oHk3BSLPeie23tz4FwRT1tIb8/I3uea
KZr5Kev6/qwDjtmC2e8PXs3Ze8g6lyt3LK/ucNwRo6MsR4eP1eTHHTcuYCsYOVFbmHjSrIijaAye
msmnbE7znp4ubSrLOONULl6+VjFYefFsdpV/tf45vnNfawbON9Tm1IVcMK+XaMA2TFy8famiMf2y
/xWrq1pNSs2SLULXuFs5rrO1sbVz3OC7KX5LpcOk0+N2dFded0PPQO/KXfK9HffHHuzv3/xocqDs
adCg3nOZl/LDW0fyRj+PJ0/Jz4APi5+Inw2X8r4tfo/c8P9fObKNMwGvDkAlzIm4PgPAJfovLK4P
z48+AOyZAHDeAjD7BAFmExEgOX1/nx8IPEXwMI/IDnhhdkUR6MA40wNG3LtAHowmr8H4cQZBET4Y
JVohfkgyUohcgVHgJwwzRh6zFROJOYK5gnmO+YGKoJZoFFoIMwkf4FlkhKViS7D3sCs4KRiXZePa
cJ/wonh3fC6+B/+ToEGgES4Q3tNJ0gXSVcHdSpo+gv4S/TJRj5hJ7GfgZQhguMSIZ6QwtjPxM+1m
esNszFzDQmJJYfnI6sX6hM2arQfGMj0kG9IzDgrHAmc6Fw/XpU2Om75xl/FY8SzzVvN58DPxdwmk
CGoJrgi1kpOFjUUYRZ6LVonFi1tJiEkikqNSndLVcKdLkAuQd1IwVdRSUlaWUZFQFd8sqSarrqKh
ram8RVpLXFtUR0xXSk9RX8vAynC7UYxxnkm96YDZqoWEpatVtnWnzQ9bE7uj9uOOmk6H4Oln6Fbq
vu5J2dazQ96rwAehRPq+8XcM6A0yCL4WahjWF7GdOh91gCYRfTd2Z7xQwtOk3N12KRx73qReTM/a
55tlcIApeyinPDfysMFRtmMTx6+dyDsZXGx8inx6vWysvLuyvqrw3L7zsXWe9cYXFRuFrrA3EVtw
rfg2phs8t2Q7jbsoPZl3Gu+9fcDT7/K44CnvYPUL1VfXR7RGL4+LTGa9e/tedTZprmV+bpG8ZLUc
vXJy7fqP0V/7BwKzyHiYkyMBAZhv2AwzJk4wJ5IADoFKmEMYAosIKyKFGCHbkQQkH2mEvv+MIWHU
MO6Y3TC+v4OZR7lRIzQCPYn2oItYUawTNgPG5zMwKneAsXg77gteHh+Er8C/IQgQthNKCK/pyHT+
dDV08/Sa9Kn0fURuYgDxMgPK4MxQxYhhDGJ8yKTJVAmj3nTmZZYIlnesfqzjbEFsc+yJJALpJIci
xx1OfxiPVm1y4SZy3+bZw6vL+5Ovkz9bwFlQWHBBqJtcJBwjYi+qKMYu9lV8VOKBZJtUg3SVTKls
iVyx/GmFSsV6pVbleyojqktqLOpyGtaaXltitfK0a3Xu6c7qsxloGQYY5Rv3mKyZqZhTLWotP1qr
2CRs7bbjsd/p0Ock7bzfZdbNwb3VU2Jb/g6cV4L3HCXYd9zfL2AiKDR4PjQ1nCOiNtIkaoyWGiMW
2xcfmyia9HT3/hT9PSupLemJ+/Sz8Pt7sjNyjHPRvN4j2cdsj5MKXhSWFgWWyJ9aKm0/k1XheFao
avbc9fMH62zrSQ2vL9Vcjr9q0czXstB6v63qxr5bAZ2WXYo9XHeQu7P3Xz6439/++NIT2jP5wXfP
y166DRNfN7/xG6N/e37CYnLkHXV69X3aLPpx79zafNTC+KLzl1tfZZcLVsBq0NqDH2o/i3/7Hwvo
ARvgA5Iw02QG134ESAfFoAkMgHnoeznEEmaEsmAOqA+Zx3BidDD+mEOYFswEyoYawBV/Bn2CJWB1
sNHY89hxnABc7fm4ATw73gl/HP+CIEQIJDQQVmEWJZ9ugl6d/gD9G6IaMZc4w2DKUMHIwJjM+Jkp
lGkK5jemWSJZ1lhz2ETZbrL7khhIrRyRnLKcH+DKTuV25VHiZead5xvi7xRoFKwSKiUXC58SqRCt
F2sTvysxJDkjjcjwy2rLecvvV7iqOKXMr+KmemLzK3UxjSjNG1ps2iE63Xpi+gcMFo18jQdN7cz6
LOwsB639bBZtqXaTDt6OI87eLlNuke4/PQ9vl9zR4e1DwfrW+rsF4oOuh0SFSYaPUcvg3VwyeiH2
Rnxeot8unWSulKW9z9NuZNRkFuxPynbJUckl5X07MnKs93jjibKTh4vTTsWVhp8JqPA5613tVUOp
dbqg3MBy8WNj35XzTVktvq1abSztozfrOxJu63aDnpt3dt1Tu//xQXm/x2PmgQNP7j9DBjWGwp+X
vRh4BYblXzuPxL8pGK0f63j7YHxw4tnk46mud43TJTPJ770/qMEb4+uP1XO0T+qfvs1fW4j5rPB5
ZrHki90SZuni1x3LxOUr33as4FcurDqufls79V3/+9iP9J+iPzvXfTb8Hx2oCnOW8EEYjWD6cWR9
fVEC5iqPAvDjyPr6Wvn6+o8KGGwMA3Ar/K//XTaY8TBXX9K8gXqMM/ZufP/9/BfFCcXFItThdwAA
AAlwSFlzAAALEwAACxMBAJqcGAAAQABJREFUeAHtvWtwXOd559nE/d4ACRAkSIo3UaIoCZIs27IT
yxPajmMlWdOby6Rqw2zFM7WU94uj2Q9xyTX27jKzcdFfYqZSs0qmUvRORE9t6J01NZOlEkdSQjsZ
yjZpm7qQkkiRFAmQuF8alwa6Qez/Pae7cRpAN043cen3xQ/1ijp9+pz3PO/vOX363+/leTbMzs5G
+IMABCAAAQhAAAIlRqCsxOzBHAhAAAIQgAAEIGAIoFG4DyAAAQhAAAIQKEUCaJRS9Ao2QQACEIAA
BCCARuEegAAEIAABCECgFAmgUUrRK9gEAQhAAAIQgAAahXsAAhCAAAQgAIFSJIBGKUWvYBMEIAAB
CEAAAmgU7gEIQAACEIAABEqRQEUpGrXcNv3HS6ffH7mVqXVjTfTLjx/OvGQDAhCAAAQgUJoE4v39
l799Imjb9k9/pvWJJ4J7HN6mH8Vh59I0CEAAAhCAgMUE0CgWOw/TIQABCEAAAg4TQKM47FyaBgEI
QAACELCYABrFYudhOgQgAAEIQMBhAmgUh51L0yAAAQhAAAIWE0CjWOw8TIcABCAAAQg4TACN4rBz
aRoEIAABCEDAYgJoFIudh+kQgAAEIAABhwmgURx2Lk2DAAQgAAEIWEwAjWKx8zAdAhCAAAQg4DAB
NIrDzqVpEIAABCAAAYsJoFEsdh6mQwACEIAABBwmgEZx2Lk0DQIQgAAEIGAxATSKxc7DdAhAAAIQ
gIDDBNAoDjuXpkEAAhCAAAQsJoBGsdh5mA4BCEAAAhBwmAAaxWHn0jQIQAACEICAxQTQKBY7D9Mh
AAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6BCAAAQhAwGECaBSHnUvTIAABCEAAAhYTQKNY
7DxMhwAEIAABCDhMAI3isHNpGgQgAAEIQMBiAmgUi52H6RCAAAQgAAGHCVQU0bZXbp77cc8bRZy4
Vqdc6H17MD6SuXptRc1EcjLzkg0IQKA4ArOzkZGJRM9ovGckPjA2VVG+ob2pZnNTTXu0praqvLg6
OQsCEAgS2DA8Vn3rR8E9ybdjyZmfBPfYtf2ZHR//cPsjIW0uRqMk7ybjyemQFyiFwxJ3Z5J3ZzKW
aNsu+zOWswGBUiAQm0z0jsZ7Y1N9o/Gp5N2gScOTk+/0mB2NNRUSKyptjdXVleiVICS2IVAAgbKZ
6fLA95fOnJpJJKz6Cp7X2uDX8by3Fr4sRqMsrIU9EICA2wTG4sm+WNxIk9F4PJGlSxZteCyejMXH
rvaO6d1obaURK03VbY01VRWMLy8KjJ0QgMAiBNAoi0BhFwQgIALjU74umZIumZye64ksFM7IZELl
vZ6YTmypq5JYkWRpbVT3CnqlUJYcD4H1RQCNsr78TWshkJ/A5HSyb3Sq13SZTEmj5D+4iHeHJqZV
3r0T2yC9Ul/ljQdVb2qorkCvFEGTUyDgOoFiNMqWutZHNt1vEZn++FDlhrkR8YaqOrvstwg1ptpI
QFrk1uDETZWBiaEJtaBaRY+GqHRE6L+mmsrp5N14soDulpmJyG2VO5GyDbNbopXbN9bft6lua3Nt
ZXkhFw5tIQdCwEYCs2Wj8borQcsrozsqNu0N7rFru7W2JbzBxWiUx9r2q4S/xpofOZGMvz9yK2PG
xprob+37lcxLNiCwDgmMxRNvd4++dWv4ra6RDwYkTKKCUK9SiDzY1FB1/+bG+zc33N/e2FRbqRpu
D09e6Y1d6Rm72jdW2PDQSKRb5VqkomzDg1ubHt4efWRbVNXSv7IOb06aHCQQ7++/3Ho9uGf7fR9v
3fdEcI/D28VoFIdx0DQIOExgYip5+fbom7eG37w1cr1/vLiWNtdVSpfsaze6pLmual4l6gVRefqB
zbOzs11DKb1yrV+KaOlptn5Vybuzkk0qfx2JaILt/q1Nj2yPPrytec/mhvKyQgTUPMt4CQEIWEgA
jWKh0zAZAqEJxKdnpEvMt/6t4ff7xu7Ohj4zcKD6SExnyeaGfe2NGxs0ErT034YNG7ZvrFP5pf3t
d+/O3hqa0JzZK71j1/vGp2fC6hUNHl28OawSidyoqSw70BFV/4r0yq62+rIN6JWlvcARELCdABrF
dg9iPwTmE5hOzmhSqjpLpEukDIrTJZrGutcbxJE00czW+dco5HVZ2Yb7NmmuSf2nD0Rm7s5+MDAu
sSLDbgyMJ2fCiib1xFy4MaSiK9dVlR/YZgaDHtnevGNTnfRQIeZwLAQgYA0BNIo1rsJQCOQhkJi5
e6Un9tatkTe7Rt69PaoRkzwH53pL3/172swgjoZytkRrcx12L/s1XrO7rUHllx/ekpy5qyEn6RVN
YdGcGMmXkDVPTM/85Nqgio5vqKmQWHl4e/PD26LqtglZA4dBAAJWEECjWOEmjITAIgT0pX611+8v
GXnn9mj4MZRgXTWV0iX10iXqL+lorl3NPgnNhzXXbW+MRLYmknff7x/TZFvpFS0yCi1XIgoud+7q
gIoapWBxZvLK9mapli3NK6KxgujYhgAEVpoAGmWlCVM/BJaTgOZ2XOsb0/wSDeVcvj0Sfi5q0AjN
Rd3dmtIl6nsohbkdlRVlD25pUpGdU4kZTZ0x/Ss9sa7hSWUFCvmnSHH/9F6/io7fWF+lkSBvvm20
7d7GqkJencMgAIFlJ4BGWXakVAiBZSagNTKauqFxHEmTt7tGNNJRxAUUdGRXa/1eb6mwpoaU8hoZ
BaB9qCOqomZqAbOWMUusqEiShW/44Pj02Xd6VXSKcgZJr3jzbaOKFxe+Eo6EAATWlgAaZW35c3UI
5CSgIQ+tE/aW5IyMFRXyVUJk56Y6E8KkvVEbNsYaUf5kMzd2m9ErWjvtd67oXyVbzgluwRt9sanX
LvWo6J2tzTVaGaT+Fc26Xbh2esGp7IAABNaSABplLelzbQjMI6AYaEaXeFNfRycT894N81IxRHZs
rNMiYXWZ7G6rdyknTl11ReeOZhVxiMUT/uQV/ds/NhWGjH/M7eH47eE7f//WHb3UOJc339b02fgx
6MLXw5EQgMAqEECjrAJkLgGBfASUsS+jS4bGp/MdmuM9rb3d3qL+ErMkR7pEyW9yHOjO7saayid2
tqioSZqGopEgP/5KQQDVU6Xy8hu3VcnOTfXefFujV0TQHVK0BAI2E+CjaLP3sN1aAv2xKc0sebNr
+M2bIwV1A2RarJAgiujq6xIFMtHynMxb621Dy3me3LVRRQ3XNBQzeaU3drV3bHiigI4ozfhR+Zuf
dwvs7s0Nfv+KotzWVvGQXG83FO0tIQJ8/ErIGZjiNgH9xJcu8ZbkDN8pZPpnEEt7U8397Sbeq3RJ
HV+fQTTetpbzfHTPJhW96ovF/fEg6ZVYPGwOZ60ier93TOWln3Zp4ExdU4q8ovXMD25p1GTeBRdk
BwQgsIIE0CgrCJeqIaA5Jaa/xJv6qvw1xQHRshS/v0T/qsOkuErW4VltjTUqH7+/VW3vGYm/Z5Id
xiQ+FI0/JA2FaVHEXpX/9/wtJTvct8XoFS0R0oZLE31C0uAwCKw+ATTK6jPnio4TUFSxS92p/hIv
pXAx7VV/gH7BS5Soy4TpnMUQzD6nPVqj8ol9bVrIrTXMZjxIeqVvfDIRVq8odO+l7lGV7/74phZy
K5SLv55ZHVo2LpjKxsMrCJQoATRKiToGs+wiMDGdvNztp+4bUYy10FHHslqplMJ+/BLpkpb6+SmF
sw7lRbEEFEhX4XRVPvng5rt+cmYv2aG8NpUMm+wwMTOrnAMqkdcj1UrO3NHkr2dWJgElJyrWNM6D
AATmE0CjzCfCawiEJBBPzCgzjvmuUkrh3mJTCtcodZ/ilyircGNrI+HFQrJfnsMUYFfrtFUOPmSS
M98cnNBkW01hURah8IkFpGx+/sGwimzSzOUD25oe2Wbixe1sJTnz8riJWtYzATTKevY+bS+YwHTy
7rt3Rv2Qr1rsGj4NXvBKfkphP6uw5sAG32J7rQio/0OqQsVPzqw1Pt76oLEb/ePhEzRKtl64PqSi
VmgBs5lsa+bbRiWDVjMR0lox5LoQWHYCaJRlR0qFrhFQel59Xam/RNJEqfvCf2MFQShe6l6TUtj0
l2yJ1vCNFYRTatuKz6tRG5XPRiKZ5MySpOpoCa9Kx6eSP3p/QEWta6yp8DMdKgRLRwvJmUvN4dhT
ugTQKKXrGyxbQwL6KtLwzVuKX2JS942q+6QIYzRTQd9zvi7paKkthdR9RbRinZ+SSc78uUe36jbQ
tBU/Hv+toQKSM2vl87kr/SqCqVlHZrKt17+yJUpy5nV+f9H8JQigUZYAxNvrh4BmUF7vG/d1iZZv
qN++iLZXlZftaqvf500xUexXZlAWwbBkT1G+6Ae3NqnIQt0eJjlzjyRLrHtoMvwsaUWW++G7fSqq
ZFODSc7sDwmRnLlk/Y5ha0gAjbKG8Ln02hPQSlQtD37r1rCGcopOKVyhlMKb6v2lwiWeUnjtibti
gZke2xFVUYMmp5MKE/eep1cKis43MDb9j5d7VVTJ5qYajQQpvq2SHW4kObMr9wntuEcCaJR7BMjp
VhJQlhYvn7CRJgpnUkQbNGXhPj+l8OaGXa31RMgogqEzpyhevrpDVNQirWC+6i0O0hym3lgByQ6V
tunVt1VMcmYtjdZMW1V4oKMpWscqdGfuFBpSMAE0SsHIOMFSAneUUtjMezVTTJSFrohWKPKFMuVq
0qummOxpbaisKCuiEk5xm4AWbT22o0VFzVRyZpPp0OtfUZdJ+IZ3D0+qfP9Nk5xZa4KMXvH6V4gy
HJ4hR7pBAI3ihh9pxeIE+kbjfn4c6RJlm1v8oLx7lVJ4m1L3eSFfNQGWjC15afFmFgElZ/7Qzo0q
2js84Sc71BSW2FAhyQ61mEjl5YsmObN67Exy5m3ND3U01ZGcOQs2L9wkgEZx06/ruVUDY1PeOI4J
rdZXSGd7ENpcSuG2Bi0bDr7FNgSKINBcV/Xh3ZtUdO7g2NR7vUasaImQMjqFr03B5VT+68+61aW3
u63Bn2+r5Mw13KLhIXKkVQTQKFa5C2NzENCPVC91n7LkDN8ejuc4aondJqXwZi0VNlly+JG6BCze
vgcCmhL7lIqXnFnTUDTf1o9vq7ksIWtVskOdpXL6wi0/ObOZb7u9+YEtjVUVSOqQFDnMAgJoFAuc
hImLEogppbBS990y/SW3ik0p3NpQ7ccv0b/qmV/0QuyEwMoR0HIeFT85852RSX/yisTHROHJmf/z
T0xyZskUxYvTemaSM6+c16h51QigUVYNNRdaBgKK3amUwppcImmiaOXF1ah0ffv8/pL2xmgtuqQ4
ipy1/AQU0k3lEw+Y5MyaM+sHi1Ny5vChehQE+e3uUZVTkYhC9SiUiz/fdg/JmZffXdS4GgTQKKtB
mWvcCwEFn1CkV9Nf0jVyrfdeUgqbOPQaytlISuF78QfnrjwBpUrY1lKn8i8CyZm1ROiakh2GDnms
tIhv3BpWkb0Keaxptv78FU1kIbTgyvuQKywPATTK8nCkluUlMJWYeedOTOuENftVUws1+l7En5Kk
mLx93lLhtkZS9xWBkFPWnkAwObNSNJjkzN5k2+v9Y4mZsB8MJWf+2QfDKmpPXVX5Qx0m06GmsOzc
VE/qqLX3MRbkJoBGyc2Gd1aXQGLm7nt3YppcoqEcPYWLS91XX1Wubm11ligafXsUXbK6LuRqK0xA
kQO1/FjlMw+bZIc3Bib8ybYa9wyf7FAzXc5fH1SRsYrmorC23nrm6I5N9StsPtVDoGACaJSCkXHC
MhLQc1bTA6VLTErhO6PhfxcGbait9HSJJ022klI4iIZtdwkotLG6CVV+5ZGI9P21vnET37Z37IOB
8fD9jlpJlEnO3FRbqUhx6l9R/BWlwHSXHC2ziQAaxSZvuWHrXaUU7pMuMeuEL3ePqhe6iHZpfF3D
6v5S4W2kFC6CIKc4RKCyvEzLeVTUpqnkjPSK37+i5MyzYYeDIorU8s9X+lVUieaVa2WQv55Zy44c
QkVTLCOARrHMYZaaq5TCN/rHvXmvw5e69DAsJqVwZfmG3a0axzFTTBQgnHl/lt4MmL2iBKoryhXV
TUVX0YIgL4yKicevhUKh5UpkaHw6k5xZ6/PNYJDXv9LaWL2ixlM5BOYRQKPMA8LLZSOg9ZOa32d0
ya1hLYbUsuEiqla8h52t9X5/ieb3aTy+iEo4BQLrk4CSM6s7REXNn/CSM/vzbQtKztw/NvUPl3tV
VMmWaI2p0Iu/or6W9UmVVq8mATTKatJeF9fqHprQOI7WCb99a3i06JTCSt3nxXslpfC6uGlo5MoT
qKuqeHR7s4ouNRZP+MFX9G9B+SIkblReSSdn9geDNOtWc1lWvgVcYT0SQKOsR68ve5sVH1P9JX72
vuFC8qVlLDEphVtSukQTTapIKZxBwwYElpuA8ic/fl+LiirWyKvfuaL4KwXl3fSTM/+dl5z5vk11
3vwVJTuMNtTwtbLcDlvH9XEzrWPn31vT/ZTCvi4pKO985rIattHyAT9+iVIKq1868xYbEIDA6hBQ
F8iHdm1U0eU0DcWfbKt/C/qx8cHAhMqZi7f1od7VVq+VQepi2a/kzFV8xayOG529CjeQs65diYYp
X6ufuk9DOcqFVtwlNKQtXbKv3SybrOURVhxEzoLAChDQFJOP7N6korr7Y1NGryhzYU8s/KCtpuVq
VZHKf/1ZlzpHFazokW3Nmm+rqPz8CFkBj7lfJRrFfR/fYwtHJqbVWWLKrRH17hZX2+amar+/ZO/m
RoWNKq4SzoIABFaNgJbwqHxsb6uuqB8kGgnylgiNFZSc2aRI7Bn73oVbmu2ume8mGP/26ANbmhjM
XTU/2n4hvi1s9+CK2K8pdaa/xNMlWptT3DU2NVT5ukT/MqWuOIacBYFSIOAnZ/7FfW0y5nY62eHV
vrHJ0MmZFQZX2S1U/p+f3DTJmbc2KV6cxoM0NV7B6EqhjdhQmgTQKKXplzWwasKkFB5VXDWtyrne
X2xK4bpKfz2O/m2uY2niGviRS0JgRQlsba5VedpLztwlvdIzpvi2isoYT4QNxmiSM2vdX9fIX/8o
og4VhXLx1jNH1clKcIEV9Z2NlaNRbPTastkcn55RSmETil4phfvGwofQDlqgPhI/fon+3dRAiKcg
G7Yh4CwBJSPUWjyVX9q/WcGjFdPWjOz0xjQZRSmXQzZbaZwv3hxW0fE1lUrObKK5aEhIE2+VTDFk
JRzmMAE0isPOXbxp08mZd27H/P4SrTksTpdoTokf71XzXgmVvTho9kJg3RBQ0Of7NtWrfOpAu4Z1
lDPIj79yfWA8GTo5s3pifnpjSEXYlJzZJDv04sVpYTPJmdfNrTS/oWiU+UScfO2nFPbmvQ6/e6fI
lMJ6akiR+FNMtkRJOebknUKjIHCvBDReoxBHKr/88BYvOfO437+iLM0FJWf+ybVBFVmjgCtmMMjr
X9m+se5e7eN8qwigUaxyVyHG6nGgRYOa96qhnHdvx8L3vgYvouWCe9rqNblk3+YGDULzayYIh20I
QCA/AS85c6MmmvxKZGsiefdavwaDtNInppn44Xtwx+LJ168OqOha0dpKrQzy1zPriZT/6rzrAAE0
igNOnGuCRoU1rcRbjzOsiSbhZ7HNVRExs9h2t9bvUyj69kZSCgfJsA0BCBRNoLJCyZmbVFTDVGJG
02x9vaKJt+GTM48oOfN7/SqqZGN9lUl26MVfYcS5aL+U+IlolBJ30NLmKXWfUgr764QvdSuaSZEp
hXcppbCGctpNSmFm1y/NnSMgAIFiCVRXlmt6rIoq0AJm6RXFX5Fk0cLm8FUqcv/Zd/pUdEpbY7Xp
X/GSHTJzPzzD0j8SjVL6PlrcwpsD45pfonXCWsIXPqpSsC4JEWUS9qe+7txUR5SCIBy2IQCB1SFQ
WxVIzjyVNJ0rim/bM9ZTSCRrZUb8h0u9KrJZkax9sSLVQgSE1XHiyl0FjbJybJe/5u6hSX89jtSJ
MoEVcQFFp9bce7+/RCmFK4meVAREToEABFaGQF11ReeOZhVVH1NyZm8xs+LbFp6c+c7fv3VHlWxv
qX3Y61whOfPKeGzFa0WjrDjie7yAolBr0qv6S6RLlPGriNoUZcBLKWyW5Oxuq6+uIHVfERQ5BQIQ
WFUCjTWVT+xsUdFVNQ3FJGf2xoMKSs58a2hS5W/fuK1K1G3szbeNPrQtqufgqjaGixVLAD8VS24l
z1M2L/WXKD+OpEn/2FQRlzIphZtrNY6jGfVaMEw2ryIYcgoEIFAiBLSc58ldG1VkjzSKJ1ZM/qCC
kjPfGBhX+f9+3q3Ho5ZGe/NXoopyS2bTEvHyomagURbFsgY71Ufixy/Rv3dG7iWlsJn3Kl1CVvQ1
8CKXhAAEVpiAlvN8dM8mFV0nlZzZGxKKxZMhr6zkzJqlq/JffmqSM+uHnN+/ouTMmswbshIOWx0C
aJTV4bz4VTSnxKTu84Zyik4prAntml+ipcLSJeowWfxK7IUABCDgHIFgcuaekbg/2Vb5gxSNP2Rb
FaZFS4pUvnf+lpId6geet545qqyHTNcLyXBFD0OjrCjeRSpXPKK3u0fe8lLkfDBQZEph/ZIw8Uu8
pcKkFF6EMrsgAIF1RqA9WqOi5MwKx6CuaH8x8/u9Y5OJsHpFyQ4VVkrluz++WVm+4cEtTepf0ZRb
PWlZ9rhWdxMaZTXIT0wnL3crdZ/mvQ5f7xtXT2MRf81KKbxZcdXM1NeWelIKF4GQUyAAAfcJKBy2
n5z5kw9uvjs7q+WQ6l95r2dM8S2nkmGTHSZmZk2Q7q6RyOsfVFeUaRhI/Sta0rynrUHJidyHWDIt
RKOslCviCaXuGzXzXruGpeXDB34OGtRUU7HX6y9RrwmBiYJk2IYABCCwJAElT1aKH5Vf2t+uMNw3
TXJmEyxOvxXDpweRskknZ76h9QcHOrz+lW0kZ14S/zIcgEZZBoiZKpRn/N07Xn/JrWF9DMIn0MrU
oA2lFNbMEg2LqoORAM9BMmxDAAIQKJqA+j+0/Fjl0wciejhrjY+vVxSnW6M8IavVj88LN4ZUdLwW
MHt6pVn5mXeQnDkkwQIPQ6MUCGzB4UrsqYFPr79k5N3bo+Hv9WBNirS4ty2lSxQkkdR9QThsQwAC
EFheAoqyrVEblc9GInqGX+8fN/Fte2IfDBaQnHl8Kvnja4Mqsq1RyZm3G7GiKSzbWkjOvGzuQqMU
g9KkFO41ukTrhDXBSt0nRdSiMU71l2jZm6aYKJaJ+iSLqIRTIAABCEDgXghoPqzpt25vjDy6VQ9z
k5xZi5l7YreGCkjOrJXP5670q8gSzR182IiVZk1h2RIlOfO9OCeCRgmLT3OvNISpdcLSJZe6lVI4
7Fzx4AWqyssU6dWf+qrYr8y9CsJhGwIQgMDaElDWdy3nUZEZeshrmq3fv9I1NBl2NCgSUWS5f3qv
X0WVbGqoUmZmfz1zW1PN2rbOxqujUfJ5TWvYtDzY1yUKZFJcSuGK8g27TOo+M79EuXJIKZyPOO9B
AAIQKA0Cmh4bSM6cVFhbX6/cLiTG5sCYkjP3qqhNml/oDwapl2VjQ3VptLLUrUCjLOKhW4MpXaIu
E4UzWeSIpXZ5KYXr/P4STdFibf1SwHgfAhCAQOkSULx8LTxWkYlawaylml78lVjvaAG5SpR87VWV
Sz2qZGtzOjnztmi0jlgSOV2PRkmhuT086a8T1r/KX5UTWO43tGZ+x8Y6v79kd2tDZUVZ7mN5BwIQ
gAAErCSgpZcLkzNLsqjLJHx7bg/Hbw/f+f6bXnLmjXWZ/hVihc9juK41ilStN+/VZBUuKJdmBqLm
uW4zqfsaFb9kd2s9uR4yZNiAAAQg4DyBYHLm4QklO9R4kIm/UlCOevXcq7zsJWfe1VrvzbeNHuiI
1pGcObL+5swq5OvgSOzfv/Ku1ElfrIBuuuCHTUEM93khTLR0TcuGg2+xDQEIQAAC65BAc13Vh3dv
VFHbB8em3vMWM0uvKC9beBpaBa3yNz/vVse8Sc68Lbq/fmY2eXfddsyvi34ULRWWSlXGKXWcaCix
KlJ/p8zMYCror72pxo9Dr6mvyNuC0HEwBCAAgXVFQFNin1LxkjP3xeKp/pWeMX0BheSgqHKapaty
Znxk+48/UJxxZSPqaKlta1xfi4Pc1yjD49P/6dz1rnGzDKzQP6UUNiFfvRAm6tMr9HSOhwAEIACB
dU5AqkLl4/e3isOdESUPMsFXJD7CLxSdnY30x6ZU1P2/e3P9b396HRF1X6O89NNbWq0e3qVKKaye
EjP1tb0xWosuCU+OIyEAAQhAIB8BhXRT+YSXnFkLNVJ6pW88fMCta73jitpi9M76+HNfo3QPT4Z0
pWZrf/pA+4d3bWQoJyQxDoMABCAAgSIIKOFJR0udipIzazDoHy73/uj9gZBZg/pj8SKuaOkp7muU
B9qbItdCeUcjhad/2vXST7sUmd5bqtOgKUsK4xPqZA6CAAQgAAEIhCOghT9aAWSCrPSMFRrtQrFA
w13EhaPc1yi//kTHX19teKM37HwUBTzuGp5U+cd3erW0eEeLCXmiWSmKYV9dgV5x4aanDRCAAARW
n4BClWtwRzNRJE2Ki3ah6KCP3dfcvp5yALmvUaoqyn/1sY7tPVNmXU9sqm80Pht2YnVEM5WUBlNF
kQG1EkzqVXFQNFtlZ2t9ZTkh2lb/M84VIQABCNhEIBZPpIPSjhUd7aKxtnJLtLq9qXZLc42+0Wxq
/z3b6r5G8RFpzEZlrzJb6m+m5qmGPcrCo9SABa0E81euf/+tiMSsIu34U2vv21hHqPt7vg+pAAIQ
gIAjBMYVLF/JCDWO0zt2p5DkPsH2b4nW+MmT99Umbpe/HXxrXW2vF40SdOrG+upnHutQUcpAyQ6t
5nqza/hy92j4lWAKuOKvXP/bN+8oZeCeVq0DMkuBlMqYlIFB1GxDAAIQWA8EJqdnpEuuKshsz5im
ChTX5NbGaj8o/qPbmzNJB+P9/beLq86Js9ajRsk4TjOrNStW5def2Hb37qzuMAXFf6tr+J3bo/HE
3cxh+TeSM7Pv9sRUIpHbyuutyLN+/4pi5JdpfIg/CEAAAhBwkcBUYuZa/7gJft8zdmtoQnMDivhT
tIsD26KPbFdpVmLkImpw+5R1rVGCrpWeUEeIyhee3K5uEs1peuvWsLpY3r0Tm54Jq1emk3cv3x5V
Uc01lWV7FfzNC7WyNVojPRS8HNsQgAAEIGAdgUTy7vWBcX8c54OB8ZCrhec1U5G3/KQ8D29rVujY
ee/yMkgAjRKkkdrWeM3+rU0qv/mRSHLmrmSKJq+oi0X3ZTL0LamemLe61Cszokrrqsq1Msibb9uo
eMaLXJJdEIAABCBQkgT0LXBjYMLvL7kxMK4fsUWY2VhT8VCH6S+ROtmxnhYPF8EqeAoaJUhjkW3N
h1VHnMq/fCoynZy5fNvrX+ka0XyU8HeqZrq8cWtERRdQpDg/748ki0YfF7kkuyAAAQhAYE0J6PF+
c3DC7y+51j+mMf0izNGvU+mShzWOsy2q1aD0phfBEI1SADQt+urc0ayicxS6+FL3iDffduR631h4
Ya2VRD/7YFhFlTTVVu7TZFtvSCgzQ6oAgzgUAhCAAASWiYBmJWq6q3SJxvqv9Y2HH+UPXl9hP/dv
bdTkEvWX7N7cUMYof5BO4dtolMKZeWfoRnxi50YVvZqYTr5tFgcZyaIRyvB6Wzm7z18fUlElLXXS
K2ZCjEaFlOO7SLM4DQIQgAAEQhO4Ozt7Z3jyvXSev6lk2NmHwStotcSDW5r8/hJFuGB1ZxDOPW6j
Ue4RoDm9rqriw3s2qWh7LJ4w01AkWW4N3xoqYAXa0ETiR9cGVVRJa0O1Px4kvaK+FnMN/iAAAQhA
YDkIKOpEz2hci3HMFJPeMS0bLqLWirIND2xpfNjrL9EGUbKKYBjmFDRKGEoFHKNIcU/tbVXROYp8
LL3ir2e+PVxAFqj+sSmVc1cHVEl7U42/OGjP5gbNZSnAFA6FAAQgAIE0gd7RuOYRellyxhRmLb27
gP+rg0S/G715r80Pbm1S90kBJ3NoUQT4zisKW7iTonVVv7CvTUWHD45N+YNBWtKskPzhKjBHSe+r
/NMVk29oq5IdeouZ97bV11bhu/AUORICEFiPBAbGptRT4k8xicWL0SWKcqUYWv78kv0dTWSZXeXb
iO+5VQKuKbHKwa2i6ymz9hs3TbA49bIMjE2Ht+D28KTKD97tU6yVbS0mObMkC8mZwwPkSAhAwHkC
Sils4r16qfuGJxJFtFcPWC3D8ftLDmxr4gdhEQyX6xQ0ynKRLKCe1saagwdU2nWOpmt5/StGr4T/
OGlaria7qPzD5V7J/O0b67Q4SEuEdrU20P1YgCc4FAIQcIKA1h/48Uv0b0E//IKt37Gxzp/3emBb
c0MNX45BNmu2jRvWDL1/4S3NSmVZ+5mHt+jlrcEJb77t8NtdI6OhuyW17PmDgQkVPzmz5L+/mJnk
zGvsWi4PAQisJAEtULhqUveZoZyCBtCDRnU010qXaJ2wRnNYoBAkUyLbaJQScYQxQ90hKr/y6FZN
O5fm0MwVdbEoOXP46V3SK1rWr6LkzJp2bpIze+NB922qZzlcCXkaUyAAgaIIKNDD+2YQx0x9LTql
sNLimPw4ni5prifQQ1GeWK2T0CirRbqQ6ygcoXpBVH718W1avn+9b1wrmdXFouTMk4mwy+QUtt9M
Fusd05Ury032xH0KFtfesI3kzIX4gmMhAIG1JaCAmUr46i8V7h6aDB+AKmi2gnqbFDmeLiHAd5BM
iW+jUUrcQRGFKdSqY5XPf2i7wiBq7Zwm22o9s5Izhw83lFBy5jsxFbW22k/OrPi27Y3q5yQMYqnf
AdgHgfVHYCo5o99m/pKcm8WmFG6pr/J1iUZztkRJ3WflbYRGscltSs68b0ujyhee3KE0VxqF9dcz
v3tnVCokZEukbC7dHlXR8VpH5y1mNvH4t5CcOSRBDoMABFaAQEKp+/qNLlEo+qJTCmtOidKreeM4
0Y6WuhUwkypXlQAaZVVxL+PFFNZwf0dU5bc+EtFnW90qCm6r8SAJl0KSM89I5ajIsPqqcj8Sv/5V
4LhlNJWqIAABCCxKQL+1Pkin7rveX2RKYQW3lC4xXSbbo5p7t+iF2GkpATSKpY7LMruyvEyT0lW0
dyoxI72iwaA3u4Y1uSx8skNl0Pr5zWEVVaI04mZxkJfvkLHbLNa8gAAE7o2AUgprDaO/VPj9e0gp
rIhqj2xrli7R4gBSCt+bT0r3bDRK6fqmOMuqK8s772tR0enx6Zm3lZzZyx90rW8s7GhQJKKAjD/9
YEhFlURrK/3FQUp5qPHd4qziLAhAYD0T0Nz/riGTUlhDOZoAO11U6r6ayjJFoH94m36PRfe0NWjs
ez0jXSdtR6O47OiaqvIP7dqookZqAbPCrkivaImQFjaHb/aISc48qKJTNtZX+XpFs1gU6T98JRwJ
AQisNwKKoXB7RKn7YioKZBJPFJVSuLzMS91n4pfo4UMMhfV2F6FR1ovH66srPrJnk4oaHJs0yZn9
9cz6cRMeweD49I/eH1DRKW2N1ankQZsbGmtIzhyeIkdCwGUCPSPx9xSKXrqkd2yi2JTCWhngrxMm
pbDL90qItqFRQkBy7pDG2sqP3d+qopYNKzmzJq948VcKionUF5tS+W+Z5MztDRoMUgesxJBzwGgQ
BCCQj0BfTP0lJq6a/h27h5TC3rzX5v1bG6sqyvNdj/fWDQG+TtaNq3M0tLmu6hcfaFPR+yY5szfZ
VqpF+iPHGYvsTiVnfs8kZ1bMFb9/RXqltooHzSK42AUBBwjocWHil/TGFPVVwSWLaJHmk+xSSmFv
Pc5DHVFSChfB0PlT0CjOu7iABprkzPs3q+ic3tG46Vzx1jNriCd8Ld3DkypnlZxZyQ5blOzQBIvb
3VqvybzhK+FICECgBAmo21UjOIpfoqGcoaJSCqtROzfVazGO5r0e6IjW0e1agm4uJZPQKKXkjVKy
RSktPnVgi4qMuq3kzJ5e0SqhApIzz0ZuDk6ovOYlZ1bcAumVvZuNXqmsKCultmILBCCQk4D6SKRL
/HGc/rECuleDNSoTmd9fotGcBqavBdGwnZcAGiUvHt70CGxtrlX55Ue26pUCG0ivaEjoUveIliiH
JKQwLQrQpPL3b/doZv7OTepfUfyVRm0oGF3ISjgMAhBYHQKaU6LoSmZJTu+YRnKLu+jW5hp/nbB0
CcsAi2PIWWgU7oHCCPjJmT/X2aGFhTcGxv3BIK1qDj+BXxGc3u8bV/m7t+4oOfPutnp1rqiLheTM
hXmCoyGwrAQmp5NXlSLH0yXqOi2u7s1K3bfdxFVTr4nGjourhLMgkCGARsmgYKMwAgrsuKu1QeXX
vOTM10yyQ60PGrl8e1R5SkPWpbD9mnCnouOrysukV/z4K5rIQoCmkAw5DAJFE9BHVdEdzdTXnpjC
EIQP8xi84qYGk7rPC3UdbW0kjUaQDdv3SgCNcq8EOV8ElDx5b3ujipIzq5vkam9MYkVdLO/cGQ0f
UHJaWYfuxFRUoZIz7/Um26p/RcNMJGfmNoPAchHQR/Jav0SJmWKiodvw6TKCBjTXVfrrhNVfsqWZ
lMJBNmwvJwE0ynLSpC4R0HSTB7Y0qfzGh01yZi0BkFjRFJZ37xSQ7FDJmd/uHlVRhbWV5b5e2dfe
oGSHJObgNoNAoQQyKYWlS5RbuDhd0lTjpe7TUM62qMZ8C7WB4yFQBAE0ShHQOCUsAc2HVdgDld/6
6H369fbuHZPs8K1bw+pbVndLyFomE4HkzNVKdmgWM+tfrTwKWQOHQWAdEtBH7IOBcX8cR9PVw6dD
D7JSSMaHTOo+M5SzY1MdvxCCcNheBQJolFWAzCUMgaqKTHLmnUrOfKl71Et2OKwEY6Hlisk6FEzO
rMi2vmTZxOw87jIIRCLSJV1DEyZ+Se+YJpokZsL+EgjCU8+lSSm8PapVObva6hlpDcJhe5UJoFFW
GTiXMwQUz+3xnS0q2tZqAukVfz2zeqHDP1O18vnCjSEVVaLRcV+vaIkQyZkNYv7WDQGlFO5WSmEv
Dr0Uv8ZJi2i6ZoAppbCvSzS0yoz1IhhyykoQQKOsBFXqLIBAbVVFJjnzWDypMHEaDNKQkIK/ha9F
keV+fG1QRadolYEJvuINCTXVkuwwPEWOtIaAVv4ru5avS9RlEn4lXbCFleVm6pi/Tljjp0QqCsJh
u0QIoFFKxBGYYQg01FR8dM8mFW0ruqU/GCS9ouD64QENjE0PjA287iVnVrQGf/KKfhoS3TI8Q44s
TQIKp6ZFwibqa09svNiUwvpEeEuFow9sbaokgmJpehqr0gTQKGkS/L/ECKgL5OP3t6rIruHxaTMY
1GXWMxcU9bI3NqXyz1dMssMt0RovuG3D3rYGsoSUmLcxJyeB/phS95l8wvo3fGTnYHVK3bdnc4OJ
X7ItqgEdMmcF4bBd4gTQKCXuIMwzBJrrqz7x4GYVbeuR/VaXGQxSL4u2wwNS37jKD9/r2+AnZ9Z8
2/YGJWcm22p4hhy5OgSUxdOP96p/R4pKKaybfHdbg8Zx1GWi1H01ZCBfHc9xleUmgEZZbqLUt8IE
Whur/8X+dhVdp2ckntErQ6GTM2tabtfwpMo/vtObSs7c3qAuFkW5ra4gOfMK+4/qcxBQOgmzTtgb
xyko03iwvvs21am/xOiSbVHdzcG32IaAjQS4iW30GjanCLRHa9qjqeTM3UNKdmg6V1Q0lyUko9lM
cuZLveoS95Mza8B+l5IzM1QfEiKHFUsgFvdSCntLhfsK6RQMXnBbS603v8RIk0YmiQfRsG0/ATSK
/T6kBR6BjpY6lc8+apIz3xwY9/WKkh1qLWZIQgrTEkzOLJliFgdtbtRvU5Y8hGTIYUsSUIwfM+nV
m2JS0OSqYM2aXOX3l2g0p7muKvgW2xBwiQAaxSVv0pYUgR2b6lWeecxLztw/rsm2mnJ7uXu0oOTM
+iJR+dvInYryDbtbGxSJX3pFIcAV7B/QECiIwOT0jCKX+FNMClqkFrxKm0kprHzCzYpiQkrhIBm2
HSaARnHYuTQtYpIztzWo/LqSM9+d1feEv57ZS84cNtRVckbJmWMqkchtRcvVNFs/+Mo2JTtEr3CX
5SCgYMrX+sd9XXJraEKjikX8baw3KYWNNNneTPKHIgByiu0E0Ci2exD7wxKQnjCxUtobD3nJmfXl
YZIddg2/ezumlMsha1HWIekbFR1fU1mmZcymTi85M6lMQjJ0+LCESSk8rrzfUrQKQhg+yUOQSbTW
pBQ2Qznbo0r6HXyLbQisNwJolPXmcdprCGi8RoEiVH7jIyY5s3IyazBIXSzvFZKcOZ64+5ayDnnJ
meuqUsmZpVe2RPleWUe3me6fG0rd58UvuTEwET5ZZpBRo59S2JMmpBQOkmF7nRNAo6zzG4DmRzQf
Vgs1VcRiOjnzzu2Yv55Zk1HCf99opssbt0ZUVEmDkjN7k1f0b1sjyZkdvMcyKYXVZaKOE40GFtFI
6Vrddf5Qzs5N9fTDFcGQU5wngEZx3sU0sAACVRXlj+5oVtE5yoGiabZ+/4pSyIbvt9dKop99MKyi
ShQt15+8on9JzlyAJ0rvUM1n0rQSP37JtT5Fog87PhhsigIG7vdS92koh5TCQTJsQ2BRAmiURbGw
EwKabjKXnHliOqllzJq/ovGggpIzK1JLJjlzS12lN3nFxLdlvagVd5hSCt8eVkphsyRH/WrFpRTW
POsHt3gphbdHlZebdWFWuB4jS4QAGqVEHIEZJU2grqriw7s3qchKJZmVXlH8FS1pvlVIcuah7OTM
+8xk20YlOyQ5c0n5Pp1S2NMlfWNaNlyEeRVlG5SxT/lxNO9Vjia+ThEMOQUCIoBG4TaAQGEElODn
o3tbVXSa4pebxcxe/JXbw/HwFfnJmc9dHdApm5uqJVb0TabEb5rLEr4SjlxGAr1KKez1l+hfhVkr
omZ1kGhE72Gl7tsefWBLk7pPiqiEUyAAgSABHohBGmxDoDAC0bqqX9jXpqLTBseU7NCMB6l/RV94
4SvqHZ1S8ZMzb1VyZm8xs/pXaqv4eIanWMyRA2NTfvwSLRUuPqWwSd1ndImWiZGfshg3cA4EchPg
IZibDe9AoBACCv359IObVXRSfyxuBoPM/JVhdZmEr+b2SFzlB++a5MzKw+LrFSWw5csvPMP8Ryr3
pBe/xESjH54Im9cpWKdcs7O1XpNepUse6mhCSgbhsA2B5SWARllentQGAUOgtbHmlx5SMcmZ74xM
ms4VL/5K+C9FLWa9NTSp8g+XTbLD7S11Rq+0NygqP4MIhd5kmrns95dIlxQkGYMXUtomb51w84GO
aEMNT84gG7YhsFIE+KStFFnqhYBPQCHdVD798Ba97Bqa8AeD3r41PBoPO+lBy54/GJxQefVSj/SK
Ymn4/Sv6NU9y5ly3maY2ayWOP8Wkt9iUwh3Nteos0VCO1AlTm3OhZj8EVo4AGmXl2FIzBOYT2NZS
p6LkzFo8cnNgQjNX3ro1/Hb3aPhJmtIrChqm8v23Ilo8Ipnix1+RcGFRq5aIG13ihXy9M1LAlKCg
n9qbavz8OFqV01xPSuEgG7YhsNoE0CirTZzrQUAEFFT0vtZ6lV99rENBOK73jWvmirpYLnVrXCLs
Ytfk3Vl9Jav87Zt3KpWcOZ3sUAND60evKNReKqVwz5hSChcT8NWMzVX764Qf3tasbW5RCECgRAig
UUrEEZixfgmUbdigVccq/90T2/3kzN582+F3bo+GDxqWmJlV1iEVJWeuriiTXtnnxePvaKlV/Y7B
nUrOKNKrJpeoy6TolMItXkphM5Szrbk9SsoCx+4RmuMIATSKI46kGW4QyCRn/sKT25WsTtMpNBik
/pV37oxKhYRso5RNIDmzl+xwsyRL45Zojb1JYRIzd6/3K3VfTEw+GBgPn5ogCE1zSsy8V5O6L9rR
Uhd8i20IQKAECaBRStApmAQBQ0DBSZXbReU3PxLRN/S7t0e9YHEj+p7WKE9IRhoK8aPM6fh6k5zZ
LA5SyDgreg6k0j4YUIqc2Hs9Y8otHD7FYxCOwuIpdZ/XXxLdsak++BbbEIBAiRNAo5S4gzAPAoaA
1u+Y1SXbm//lU5GphJIzj3rzbUcU6iO0XIkoD97FW8MqqrCxpkJKxdcrJTUDQ0JEGQYUVE39Jdf6
x4pOKfxQh4lDr1kmmlZsb+8Rdz8E1jkBNMo6vwFovn0EqivLO+9rUZHp8emZS7e94La3RpScOWzv
SiSisKo//WBIRZVElZzZ61zRkuaNa7GSRbOGu4Ym/XEcTYCdThaXUth0O/nrhPe0NWjUzD7XYjEE
IJBNAI2SzYNXELCKQE1V+RM7N6rIai1gvqTMQV48fo2MhG/HyGTi/PUhFZ0ijeIvZta/ivQfvpJC
j9Tq67mUwn2KZlKMLqkqL3tga+Mj29TDFJXAWj+rmQqlzfEQsJQAGsVSx2E2BOYTqK+u+PCeTSp6
IzaZ8KehaMqtgtXOPzT368Hx6R9dG1TRIW2N1Uob5A8JNdZU5j6pgHcUddePq6Yl0xPFphTet6VR
oeg19fWBLaQULgA+h0LAOgJoFOtchsEQWJpAY23lx+5vVdGhw0rObDIHmXj8BUU264tNqfjJmRXZ
zB8PkmqRGFragsARfbG4H1dN/44Vm1JY1/XXCT+4tbGqojxQPZsQgICzBAp71jiLgYZBwF0CzXVV
v/hAm4qaqOTM/mCQ9Ir0R/hG94zGVf7pvX6dsrW5ViNBWsysaR+1VYvLBZNS2IR8NVNfFZYu/IUy
R2o+iaK8eOuEm/d3kFI4A4YNCKwjAmiUdeRsmgoBJWf+5IObVYSidzTu9a8MK2SchnjCw9E8EhWT
nHlDZJv0ipIdKgZdW4Mi5Kb7S2JDRaUUlg27WutNCJPtUaXuqyuwwyZ8EzgSAhCwgsAGzVwr1NCh
y5fHblwv9Kw1PP67Iz/5YHogY0Bzed2/2vh05iUbEIDA0Pi0IqTd6B9XeLTxqbDB+LO4aRmN9ywp
+IHihaLf1VqnlEP3barP1TGTdS1eQGDdEJgeHb35/b8LNrft8Sea9u4N7rFru3n//sadu0LaXEw/
ysTt7oE33gh5gVI4bKzs5mREMcJTf5WR6oEum+xPG87/IbCCBO6LRO7TOp6tkZGJaU1bUS+LBnem
i1puE8ZKzZhpj1ZrmotKTdVMZHYi0t8/0R+ZCHMyx0Bg3RBIjo9P3OkJNnf4ypXEhMUflJrWtpXV
KEFYbEMAAo4R0JJjlQe3NqmTdXgi0TMyKbEiyZJIFtFFksWmvqbCiJKo0SWM42Sh4QUEILAYgWL6
URarh30QgIBrBBSeVYn3VPZ3RBVmbXjc9K9Ir/SNxsOHf62rLt/cVKNUQZIm9dXLs4DZNdC0BwIQ
yEEAjZIDDLshAIEAASVP1nxbFeW+UXLmgfGp3pRemVqYRqemqqy9qdb0l0RrliuwSsAWNiEAgfVC
oCiNop9XVmV73xDRdL65wNh6aZf96+VmpJ2WECgv37C5qVblkUhE/Sv9samekfjA+LSSCinsm3SJ
gutb0hTMhECpEzBfV3NfX8Zab0/2rlJvRPH2FbOup/irrdGZ//HS6fdHbmUuvrEm+uXHD2desgEB
CEAAAhAoTQLx/v7L3z4RtG37pz/T+sQTwT0Ob5c53DaaBgEIQAACEICAvQTQKPb6DsshAAEIQAAC
LhNAo7jsXdoGAQhAAAIQsJcAGsVe32E5BCAAAQhAwGUCaBSXvUvbIAABCEAAAvYSQKPY6zsshwAE
IAABCLhMAI3isndpGwQgAAEIQMBeAmgUe32H5RCAAAQgAAGXCaBRXPYubYMABCAAAQjYSwCNYq/v
sBwCEIAABCDgMgE0isvepW0QgAAEIAABewmgUez1HZZDAAIQgAAEXCaARnHZu7QNAhCAAAQgYC8B
NIq9vsNyCEAAAhCAgMsE0Cgue5e2QQACEIAABOwlgEax13dYDgEIQAACEHCZABrFZe/SNghAAAIQ
gIC9BNAo9voOyyEAAQhAAAIuE0CjuOxd2gYBCEAAAhCwlwAaxV7fYTkEIAABCEDAZQJoFJe9S9sg
AAEIQAAC9hJAo9jrOyyHAAQgAAEIuEwAjeKyd2kbBCAAAQhAwF4CG2ZnZ+21HsshAAEIQAACEHCV
AP0ornqWdkEAAhCAAATsJoBGsdt/WA8BCEAAAhBwlQAaxVXP0i4IQAACEICA3QTQKHb7D+shAAEI
QAACrhJAo7jqWdoFAQhAAAIQsJsAGsVu/2E9BCAAAQhAwFUCaBRXPUu7IAABCEAAAnYTQKPY7T+s
hwAEIAABCLhKAI3iqmdpFwQgAAEIQMBuAmgUu/2H9RCAAAQgAAFXCaBRXPUs7YIABCAAAQjYTQCN
Yrf/sB4CEIAABCDgKgE0iquepV0QgAAEIAABuwmgUez2H9ZDAAIQgAAEXCWARnHVs7QLAhCAAAQg
YDcBNIrd/sN6CEAAAhCAgKsE0CiuepZ2QQACEIAABOwmUGG3+Xmtvz3ed7H/neAhH21/tKUmGtzD
NgQgAAEIQAACpUnAZY3SPzn0327/PMh9f8seNEoQCNsQgAAEIACBkiXgskYpWegYBgEIQAACEAhD
IDE+3vuj14NHRvc90LB9e3CPw9toFIedS9MgAAEIQMBuAjOTk33nzwfbUN3csn40CnNmg65nGwIQ
gAAEIACBUiGARikVT2AHBCAAAQhAAAJBAmiUIA22IQABCEAAAhAoFQJolFLxBHZAAAIQgAAEIBAk
gEYJ0mAbAhCAAAQgAIFSIYBGKRVPYAcEIAABCEAAAkECaJQgDbYhAAEIQAACECgVAmiUUvEEdkAA
AhCAAAQgECSARgnSYBsCEIAABCAAgVIhgEYpFU9gBwQgAAEIQAACQQJolCANtiEAAQhAAAIQKBUC
aJRS8QR2QAACEIAABCAQJIBGCdJgGwIQgAAEIACBUiGARikVT2AHBCAAAQhAAAJBAmiUIA22IQAB
CEAAAhAoFQJolFLxBHZAAAIQgAAEIBAkUBF8EXL7n7t/erH/3ZAHr+FhXWM9P+27JANGJ5M9+m9m
9tU3+2vLGtbQJC4NAQhAAAIQCE+gamx8909+4h9fW1W+raW26r27kXILvoJztfEXO554tPWBXO/O
21+MRhmdHu8e75tXUQm+7J0cik1PjE8lbwyM++aVJfoqI6ntEjQYkyAAAQhAAAJBArXjky1TMX/P
8FRkYCK2fXzg7nh98Bi7tscSE+ENdn+sZ2h8KjwOjoQABCAAAQiULIHpmZm+0XX0pea+Rpm5O1uy
dxuGQQACEIAABAoikFxPX2rua5SCfM/BEIAABCAAAQiUCIFi5qM0VdV31LeVSAPymDE7e7erqq6q
bGYqkvQPq45EazfUN9VW5jmLtyAAAQhAAAIlQqAiOVYZqQ0aE62KWvEVHLQ5uN1QWRd8mX+7GI3y
Cx1PqOSvtxTefaP/3fKy8vHBnt6p1Ojdzg0fva9x61d//eFSMA8bIAABCEAAAvkJ3LzW9b0f9geP
+UTb05/v/Gxwj8PbjPU47FyaBgEIQAACELCYABrFYudhOgQgAAEIQMBhAmgUh51L0yAAAQhAAAIW
E0CjWOw8TIcABCAAAQg4TACN4rBzaRoEIAABCEDAYgJoFIudh+kQgAAEIAABhwmgURx2Lk2DAAQg
AAEIWEwAjWKx8zAdAhCAAAQg4DABNIrDzqVpEIAABCAAAYsJoFEsdh6mQwACEIAABBwmgEZx2Lk0
DQIQgAAEIGAxATSKxc7DdAhAAAIQgIDDBNAoDjuXpkEAAhCAAAQsJoBGsdh5mA4BCEAAAhBwmAAa
xWHn0jQIQAACEICAxQTQKBY7D9MhAAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6BIlZ9bwA
ACYFSURBVCAAAQhAwGECaBSHnUvTIAABCEAAAhYTQKNY7DxMhwAEIAABCDhMAI3isHNpGgQgAAEI
QMBiAmgUi52H6RCAAAQgAAGHCaBRHHYuTYMABCAAAQhYTACNYrHzMB0CEIAABCDgMAE0isPOpWkQ
gAAEIAABiwmgUSx2HqZDAAIQgAAEHCaARnHYuTQNAhCAAAQgYDEBNIrFzsN0CEAAAhCAgMME0CgO
O5emQQACEIAABCwmgEax2HmYDgEIQAACEHCYABrFYefSNAhAAAIQgIDFBNAoFjsP0yEAAQhAAAIO
E0CjOOxcmgYBCEAAAhCwmAAaxWLnYToEIAABCEDAYQJoFIedS9MgAAEIQAACFhNAo1jsPEyHAAQg
AAEIOEwAjeKwc2kaBCAAAQhAwGICaBSLnYfpEIAABCAAAYcJoFEcdi5NgwAEIAABCFhMAI1isfMw
HQIQgAAEIOAwATSKw86laRCAAAQgAAGLCaBRLHYepkMAAhCAAAQcJoBGcdi5NA0CEIAABCBgMQE0
isXOw3QIQAACEICAwwTQKA47l6ZBAAIQgAAELCaARrHYeZgOAQhAAAIQcJgAGsVh59I0CEAAAhCA
gMUE0CgWOw/TIQABCEAAAg4TQKM47FyaBgEIQAACELCYABrFYudhOgQgAAEIQMBhAmgUh51L0yAA
AQhAAAIWE0CjWOw8TIcABCAAAQg4TACN4rBzaRoEIAABCEDAYgJoFIudh+kQgAAEIAABhwmgURx2
Lk2DAAQgAAEIWEwAjWKx8zAdAhCAAAQg4DABNIrDzqVpEIAABCAAAYsJoFEsdh6mQwACEIAABBwm
gEZx2Lk0DQIQgAAEIGAxATSKxc7DdAhAAAIQgIDDBNAoDjuXpkEAAhCAAAQsJoBGsdh5mA4BCEAA
AhBwmAAaxWHn0jQIQAACEICAxQTQKBY7D9MhAAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6
BCAAAQhAwGECaBSHnUvTIAABCEAAAhYTQKNY7DxMhwAEIAABCDhMAI3isHNpGgQgAAEIQMBiAmgU
i52H6RCAAAQgAAGHCaBRHHYuTYMABCAAAQhYTACNYrHzMB0CEIAABCDgMAE0isPOpWkQgAAEIAAB
iwmgUSx2HqZDAAIQgAAEHCaARnHYuTQNAhCAAAQgYDEBNIrFzsN0CEAAAhCAgMME0CgOO5emQQAC
EIAABCwmgEax2HmYDgEIQAACEHCYABrFYefSNAhAAAIQgIDFBNAoFjsP0yEAAQhAAAIOE0CjOOxc
mgYBCEAAAhCwmAAaxWLnYToEIAABCEDAYQJoFIedS9MgAAEIQAACFhNAo1jsPEyHAAQgAAEIOEwA
jeKwc2kaBCAAAQhAwGICaBSLnYfpEIAABCAAAYcJoFEcdi5NgwAEIAABCFhMAI1isfMwHQIQgAAE
IOAwATSKw86laRCAAAQgAAGLCaBRLHYepkMAAhCAAAQcJoBGcdi5NA0CEIAABCBgMQE0isXOw3QI
QAACEICAwwTQKA47l6ZBAAIQgAAELCaARrHYeZgOAQhAAAIQcJgAGsVh59I0CEAAAhCAgMUE0CgW
Ow/TIQABCEAAAg4TQKM47FyaBgEIQAACELCYABrFYudhOgQgAAEIQMBhAmgUh51L0yAAAQhAAAIW
E0CjWOw8TIcABCAAAQg4TACN4rBzaRoEIAABCEDAYgJoFIudh+kQgAAEIAABhwmgURx2Lk2DAAQg
AAEIWEwAjWKx8zAdAhCAAAQg4DABNIrDzqVpEIAABCAAAYsJoFEsdh6mQwACEIAABBwmgEZx2Lk0
DQIQgAAEIGAxATSKxc7DdAhAAAIQgIDDBNAoDjuXpkEAAhCAAAQsJoBGsdh5mA4BCEAAAhBwmAAa
xWHn0jQIQAACEICAxQTQKBY7D9MhAAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6BCAAAQhA
wGECaBSHnUvTIAABCEAAAhYTQKNY7DxMhwAEIAABCDhMAI3isHNpGgQgAAEIQMBiAmgUi52H6RCA
AAQgAAGHCaBRHHYuTYMABCAAAQhYTACNYrHzMB0CEIAABCDgMAE0isPOpWkQgAAEIAABiwmgUSx2
HqZDAAIQgAAEHCaARnHYuTQNAhCAAAQgYDEBNIrFzsN0CEAAAhCAgMME0CgOO5emQQACEIAABCwm
gEax2HmYDgEIQAACEHCYABrFYefSNAhAAAIQgIDFBNAoFjsP0yEAAQhAAAIOE0CjOOxcmgYBCEAA
AhCwmAAaxWLnYToEIAABCEDAYQJoFIedS9MgAAEIQAACFhNAo1jsPEyHAAQgAAEIOEwAjeKwc2ka
BCAAAQhAwGICaBSLnYfpEIAABCAAAYcJoFEcdi5NgwAEIAABCFhMAI1isfMwHQIQgAAEIOAwATSK
w86laRCAAAQgAAGLCaBRLHYepkMAAhCAAAQcJoBGcdi5NA0CEIAABCBgMQE0isXOw3QIQAACEICA
wwTQKA47l6ZBAAIQgAAELCaARrHYeZgOAQhAAAIQcJgAGsVh59I0CEAAAhCAgMUE0CgWOw/TIQAB
CEAAAg4TQKM47FyaBgEIQAACELCYABrFYudhOgQgAAEIQMBhAmgUh51L0yAAAQhAAAIWE0CjWOw8
TIcABCAAAQg4TACN4rBzaRoEIAABCEDAYgIVRdiejMfvTk0VceIqn5IYG5uJxyOJ6bLEtH/pitnx
soqxxOjoKlvC5SAAAQhAAAJFEJgZi5Uls75wZyfHp0dGiqiqRE4pr60tr6oKacyG2dnZkIdmDrv1
/b/ref31zMuS3bhSNvxKxc0bfePj00nfyEdvtzdPVTdWF6PMSraZGAYBCEAAAq4SmJ2Kl79/Kdi6
+x7Z/+DDe4N77Nre/sufbX/qqZA2r7tva0my0XhKsoRkxGEQgAAEIACBNSFQPp1sXJMLl8ZFmY9S
Gn7ACghAAAIQgAAEsgm4r1HKyzZkN5lXEIAABCAAAVsJVK6nLzX3NcrGhrBzc2y9YbEbAhCAAATW
B4HK8rK2ppr10VbTymLmozTdf395bV3pMxqZ7GocqtBIXtX26ZsD44mZu9Vtj9TcjZa+5VgIAQhA
AAIQEIGyibGKDamlqfU1Ffdvbtzy0Y9G9+2zF07jjh3hjS9Ko+ze07R7T/hrrNWR/f3vNl7p19Ul
U+7zjPjigf9+Z1PHWtnDdSEAAQhAAAIFEYj391/+djx4Suvjj7c+8URwj8Pb7o/1OOw8mgYBCEAA
AhBwmAAaxWHn0jQIQAACEICAxQTQKBY7D9MhAAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6
BCAAAQhAwGECaBSHnUvTIAABCEAAAhYTQKNY7DxMhwAEIAABCDhMAI3isHNpGgQgAAEIQMBiAmgU
i52H6RCAAAQgAAGHCaBRHHYuTYMABCAAAQhYTACNYrHzMB0CEIAABCDgMAE0isPOpWkQgAAEIAAB
iwmgUSx2HqZDAAIQgAAEHCaARnHYuTQNAhCAAAQgYDEBNIrFzsN0CEAAAhCAgMME0CgOO5emQQAC
EIAABCwmgEax2HmYDgEIQAACEHCYABrFYefSNAhAAAIQgIDFBCostn0p0zsaNn9u5yeCR22siQZf
sg0BCEAAAhCAQMkScFmjbKpp3rS1uWTRYxgEIAABCEAAAnkIbJidnc3zNm9BAAIQgAAEILBWBGbi
8cG33gpevWHHjtrNm4N7HN5GozjsXJoGAQhAAAIQsJgAc2Ytdh6mQwACEIAABBwmgEZx2Lk0DQIQ
gAAEIGAxATSKxc7DdAhAAAIQgIDDBNAoDjuXpkEAAhCAAAQsJoBGsdh5mA4BCEAAAhBwmAAaxWHn
0jQIQAACEICAxQTQKBY7D9MhAAEIQAACDhNAozjsXJoGAQhAAAIQsJgAGsVi52E6BCAAAQhAwGEC
aBSHnUvTIAABCEAAAhYTQKNY7DxMhwAEIAABCDhMAI3isHNpGgQgAAEIQMBiAmgUi52H6RCAAAQg
AAGHCaBRHHYuTYMABCAAAQhYTACNYrHzMB0CEIAABCDgMAE0isPOpWkQgAAEIAABiwmgUSx2HqZD
AAIQgAAEHCaARnHYuTQNAhCAAAQgYDEBNIrFzsN0CEAAAhCAgMME0CgOO5emQQACEIAABCwmgEax
2HmYDgEIQAACEHCYABrFYefSNAhAAAIQgIDFBNAoFjsP0yEAAQhAAAIOE0CjOOxcmgYBCEAAAhCw
mAAaxWLnYToEIAABCEDAYQJoFIedS9MgAAEIQAACFhNAo1jsPEyHAAQgAAEIOEwAjeKwc2kaBCAA
AQhAwGICaBSLnYfpEIAABCAAAYcJoFEcdi5NgwAEIAABCFhMAI1isfMwHQIQgAAEIOAwATSKw86l
aRCAAAQgAAGLCaBRLHYepkMAAhCAAAQcJoBGcdi5NA0CEIAABCBgMQE0isXOw3QIQAACEICAwwTQ
KA47l6ZBAAIQgAAELCaARllR5yW7r16+2j20oteg8jSBeN+NG91DsfTLFf9/fMhcMJZckQslh7ov
X746FF+Rylei0uWlsQrNX4VLrATncHXm+yw43fBweFblqOX9RKyKyaV4ERc0Sqz76us/ePWll156
+dUfXLh8Y4W+M4rxXvzSV+5/6P5n/soTKck3XvrzP/qjP/3BjdX7Ei3G5tI9ZwmAsQt/sXnXrm2/
dGK1JGHs//pNc8H/8+KKXPDK6a889ND9/+Hny1B5su+CufO+8/q9CJ6lKllmGsvY/Fx39CpcItel
V3p//s9CsOFLuXWlLbW3/iUeR5HIMn8i7CV1j5ZX3OP5a3u6PmDf+J+++PXTF7PN6Dx66sWv/daj
2TvX4lUiYfTI7mqPcuy1r33p6xcjRx76tad3Nq6FNbZfcymAldWmhSnaq9HY6iZzlZocl+q7+sbN
kcrdnftbivqQJaa8yitz1F7I7smbP/zS178eiXz9kWdmP9VSyJmBY5esJD+NQE2LbC5ktYzNX+R6
3q5VuESuS6/4/ryfhWDDl3TriptaYhdYeCvmMHCpx1Ekci+fiBwXXY+7Le5Hid946cnNT/oC5dBz
x06cOnXihWOHD8qLF7/+22f6SsGblZGAGKnd9WuHIpGDH9rhfbOVgnmW2RAO4GiJtCr2n36j88kn
H/oPK9PLUlAjK6O7DnVGDh554dFiBYoutyyV5DC7hFjlsNDO3SE+CyvpVhuhhb8Vwz2ObGRQYjYX
9ROvJNrQ96efP+T1nxw523X86Y7Ur9nff/YPj1347p/9TdXCX7fJeGwyUttYE2iy2ZWIVFY21iw8
PBLJ/64geAdUZleZm03N5//4e7N/vPj78VhMdjQ2FmhGysKlLEgmY5OT+pZZvH6/HQWRyW6EMX5x
hsmYkEfyEsrNMB6PJRIyqzHtsMUB+gx0WK3/2zHbNr3y2OYxwhgZuIo5P+8pXqNMm5bo4qjeLbWs
Xpa0+QHDUn6rrK0J3o2BAzKb1ZW12s60cZG6lrDW1FSz9/Pf+/lsps7gRs4bL2Xi3K2Vo5KlaKSb
uvhHLG1KLlZ+83MaqdPD1a8DF9xOqWsveYkFJNJGz/0/A2ER/+S9l+aqWHTLXLqQD6Zvap7PwsKr
5HCrObBI7CF4mdqXeijpiAI/mKbWwJ/nlDyf+8Chwc1ct2L6Tst8IhZ/HPlme5fN8XxI8cnxpRM0
hW2fwKydf11njnr2d56+nsjXgsSV5yORwy+cOX3ssN/eFy6OmuMTXSefT+3R/s6Dz5254u3368rz
bqrCV86d8g0wtR45/srkokZMnjfXOPSCX/X107IlkjJgdtZ7efiVi2eP6keu/9d55JXrgZrymDE7
efaF51JnGfufP9e7CIfBK68cPaLOm/Rf56GT53pTlhZHJruZV84cN/1W/l/noRdeuZKuvPfUsSPp
VuntzudPnJ1r2FIMJ6+/8lyg3udPnPfbNg/g7OD5ILqjz3stTdOWJV3nTh6eM6LzueOvZHzswz9z
9lTqJjh0wn8rzym6ac6fOpqp7/DRoz7Z4+cHs6nMjl48kTnMNL4z0nnkpF9/7/lTRw7Ovdl56Pmz
QY8HKrr4gjHt+ZOnjx/JsDh08nzafd6Rea0N1OUBjxxOtXGpGy/HrZVdydI08t29c7blYpVq/olT
xzIuLODTMVe/tnLdTktdYvCVE3P3l3xx6PmTXZkPWeoePnv+9LGMO3VA0D1hvZNlrLgW9cha6rMQ
vIjf8NR9m+3Wpe6N/E/OHHdO8Nqzs/keSumnYoEfzOwLJPI8fBLnjpuP1Qn/W8CcN3rSe1BpT65b
UXfQog/b+Y+jJZ8P4T4R2Y3h1WzEUgbnX/C+IJ47nXloLN6QUU8l6K5M/x0/ry+L3vRXa+eR559P
K4SDZ1MPmLzvZleorx//77kz1xcxIFuj+DZnvtLOe19CqfMzFUWeT1eUz4zrp1MC5fCR5w5733lH
z83/ptTT4HjKvIOHD2ee9AdTB2Y3RGaEIJPVxOtnjOQyf52HDqW+Rg+eM1/FGcvNO2m8kYPHzqbO
z750pukphokrqbYdPPzcEd/sY37bsgAmrqcvHzkY+NbPKMLec8d96yKHjjz/XEqoZWzIgm+OM5fI
f4r/SDLHdgavJ27zyethZw4L/nn6YK7+iDySMknDf+kbLwuv/0WSqiPDKNJ5Jv09OVfbYg3Mqmv0
vLnYwRfSGFPCzFQ+V3Pqxst5a2VXshSNzD2w6EdszrpcrHI0P9SnY652beW+nfJfYvT8MR9+5yH5
Kv1BOnYuVXn2PZy5ITqff8U/oADvZJmrL83CH1lLfRbmXSFLo2S7NetzseDeCHy0F3Frzjsn6/J5
H0qzs1kGGAcs/cHMqn6Jh8/oC96TKvCZHfW/SbQn162Yq11Zj6OUuvJumcWfD2E/EdnN4ZWtGmX0
hPeYPXIy9cM90Xv+5ImTmb9TZy6mtMuk93TWnXPw6KXBydHersHJ2d6zfhfI4bOpvodBX0ofOnFR
d0T+d2czFR4+7v0AHj31nPf8Sv8Qz7qnsjVK1qNhdjbziDz+ipElo5dO+g9Cv6Mlvxn+x+PoKylV
1XXp4vXRhWpt8pUXjp145VKqA2Py4hHvE3TcFymZhoQmk9W02ZREOHQs1Yd0/dzJQwefuziH9+Cp
S/53YuL8Cf/KB1/xgWcuvShD/6HZeTTVttGuixdTfWVBgF2v+E48ePqKad/gxVNpGeL3WnX5P28P
Hz/rcxm86OM9LAv1l4H//OlLicRoV5dMzX9Kl9+FcvDoGa+CwVN+t43RdvM1igdq0H8aHpvTjr2+
SZ3PnUpxGTzvc+k8mvpi805M/ZOx8LjfO5U++NBx/2syv7XBmvQ7MKs/L1DzIjdezlsrq5IlaOS/
e7ON06uFrOYcVMSnI6v+pW4nfSYWvYR6X44eO3mpN/XpuXTS89XB4ylnZ+7hQ8f8HtiLJ31pfchz
eCHeyTLXOCt9J4d9ZC31WZh3gRTb1H2b5dZ7wp7zzsm6ft6HUjEfzKza0zderofP6AkPbuAzO2/P
IrdirnYFH0d6euR/PqQNW/xLJ6sNvMgmEMl+acur0VNeB53309/YnPnR430L69fh3KPEEzOHzga+
R84dM1paP6kTs5Ojo6OTiUTXWe830+GTeiDlfzf1uO/M/J6bnbz4grlo+kdqFsHFPv+Zj4d/iz8/
1wGTpfHzm3H+uPdRO3T03HV/DCHrsou8SOibOnHWa3jWsylSAJlgtYnrpz1FdcT/yg+8lTjzvHnn
0PHzgZ2pD3BGHhmn5GI4es5/Rh89eW6e7go+FHwCmX4RXWvwnOfEg55GGTzr/V5SF8VkQj6Wkyev
e62PnLhkiPlVHcp07Zjz857if9Wpz2PuRhr0e+MyDg20V5vznn2zaWKHvK6m1LG9vtLKfPMFqkjd
HqfT3Wr6oXbK+xb0D85vbaAes7nYfZjrxst5awUrWYpG/rt3nnULWemAe/l0ZNW/1O2Ui0OwEiNz
e18xd1RmJNGn0fl8enRTH69Lqd8A0qwFeSd4JW37NRfywVziszCv/jTbrOdAul33gj3nnbPAgNSO
hQ+ltG0FfDCzKl/y4TP/U7ng3lt4wGyudvmsUhiX+ROR1ap1/qJMnzsb/8Z6zHzZV3983Te+8cDh
8+fOnj177tyZF8w35LwFqIe+8PjciobYz/75NR3y2lc+Wbmhtqmpqbayctsnv2Lqudg/Gcn/rjnK
/O3eudHf0ITE7QfMd2rTYnMj08fk+f/OzZmaGh//gv/trMOXMOPAoX9lmnn66x/b1fTYF7768hs5
ljHFu1/6069+4VOPbais3LCh8pNfMQ3P+iuATNZ5k5ODxgGHPrRr/jTfyRtvm3ee+cS+wAmNO3Z7
r4LTyHIxbHzsS57K+frvfqyp8rGv/vnLfclATanN2PtvXdPmwY8/knmvoi6a2Y5de9tr6muf3Fxb
KR/LybW7/Nb3jsxV98wzj4c8Jd512bve7wRupIqmpszZS28kJ8c8Ys8cCKz1auzY4Z3prZperI6d
uzO3R2TjHg/itibNzAzZwMWqTO3LceNFwtxaS9FY4u7NY9W8t3IYWUj9S91OOS5hDOm+8NJXf+8L
j+mTs2HDhs2fXvDhMc+BzRmLK7Z93Ps91FRZce/eiRTwwVzis5AxMPxGDiZLYA9z5xgblnwo6ekR
+oOZ3ajQD5/s0/K/CtOuVftE5DfVyXcXmYhuQzsbn3zmUOT06dNn/nnoWW9BZU3Hh57qMJYn6/Tl
bb4Msv6msl75LzSH8l/vjsczca2mNnd+dk7J5H83WF1tfeBLJ/hGqO2pyNxXZl31gppymbHz8+d7
L/7ln3zzS9948eLpbzxz+hvHzvb+4dNt2Zfs++ZT277isTh05Eh7Xd3Ez7/14vwHbeFk/Gsksi+1
8FVQjix8d96eLIY1n/vj8xc/+Zff/MqXXrx48RtfeuYb//fx3le/PK9tYxOmYdH6JW7g548db45k
XByZimz+/IE5J08l5uBnLFr0lMT1mLleIaIkU6G/kUhMz9sTfJmzGQHOycSIOSU7BOCi1gZrzrWd
68arCXFrKe5PKBq57t5cNi3Yn8vI1IGh6l/idsp1ib4ffDP106Xz0JGPmU/Pt7714gIDgzsqG+rM
y+AnqmjvZFeTvkqO9ob8LKRrWfr/uZikzsxhRiTEnROJhHkoRcJ/MBdvzNIPn5wfuIUVltQnYqF5
zu8pwFUlxWLL459SN0Lk9Jf+7OXPfe1zO+dsW+RLZ+5Nb6t234GDkdOvPfe15778W4ETU0cl8747
r6qVe5nfSHPdirZHn/3jv3r2+X/37a9/8Yvfeu0r/+t//p9ffTaoceJX/9ETKIfPdp14usM4+uq3
+198Lc9zdumLZhpc6T8FTl/oSkb2Z91EWuFsjvrh+evPPvpo+vjYzWveZuAbN/3Wov+vePRzz/7V
5579d69/+4sf++Jrr/3B9y8f+R/2B3tsGvc+qq7311794Xtf/tCH/CqSw95XuPeidstOT6o+96//
8Mt7F73Cgp1LnLJdN03ktdNn3o49+1SKcrx3dEEti+xI0UkT++H1+LOPppsS677pnTGV67btHZbA
Sl1v8Ootc/Co+RJcwlqv0qL/WfLWalyCRgE3UraRWXdS9lvBV4XWv+TtFKzc345//y9M36rmM534
8tOeWZf7v/Xii/MOvNYrxZhyT/K9039h3tb363J7Z4n25v8szDP5Hl4uYYZqXvLOKfyhVNCtHvrh
M/fjJDm6+Kc461ZctF1Bkiv2iQheZJ1u2zrW0/bU7/lzEr/+zK6vfuf1dFqTZPfbb5hfePn+KvZ+
7DG9/63f/rc/mBtFiN9448LVIX1T5H83X73L+l5+M+IXXnrpQrf3g7px56/9xufMpQfmf88lJgbM
/s5H93oCJd796je/OP8Zaw6Y+8t/0bnjtFVz/8e80fe/+D/+8nX/+7X7wnc+teHZC7Gapw6Zd178
4tdevpHqwLjw7f9dAXY1MvRUoA8jq7rAi2T3he++fMHvLNj51K99TlpDfwt+GHXsMU48/Qd/8vqQ
eX/o8nd/0x+wM68iFR37pGHl5P/tz3+Q+fqPD9248MaNzEvzfuBviVMaO8z1Iqf/7DuveycNvfTV
31k4dBaoL/V7emTcQEjGkzX3P+0Re/Frf/pqisvQhX/7aYV/jRz6nU/M9e0Eq1Bo2E9/5jsXvIG8
oQvf/F3zHXj4f/wFfSkuYW12JYW8CnVrRZagUcCN5Nvm9z1kWC1lcAH1h7ydFlwxMe3dgg88stf7
sor/4E//xHx45n2fXfz6M//mO/4464W//DPv03X44IGWJb0Tv/Hys1/4wr/J3AkLLp+9Y4n25v8s
ZFd1L6/ymxHqzin8oVTQrb7kw6ex81OHhOAP/uyvvcdG7OU/+uIfZHctL7gVQ7Vr2T8R9+In1861
eD7O4PnUIlXPJ53BFajz5symZ4SlGpu4lDnRrCs87AWnjURSy3fzvxucOehXt3BPhmn2W1lzrNKz
w4IzLrMOyGdGav3eQa08Toc/OZxe4pS5uCaR6qe/+Tt45Ojz/nw+82rRuXKhyMxVbbZSU8lUo1l7
7EuJTjOlNL2ASO8cOnwkBVdRZE6aZVPmLxvLvD3p6c8Hjzz3XHrJ55FL3uKcLD7puZD+5U3D/L9D
qRW2V06lm3zwkPFxanl0ahlzVlWeUfon/yn+9H5dpPNgeqm1d8WgB9M16f+p6XvmcLnBm46dWhti
qtDgm3lWen8L5x2banwL/SMOzq3g9peNmAPyW2uOyPxlA1/Y9sCe3LdWdiVL0Mh392bMymwswipg
UuqwrD2h6w97O3kXCV7Cn/Yr/keePxqIUJOKdZSe2Zr2T3rxcWaqeH7vpCbad6buxgwIs5HNOfVW
/vYu9VnIqj99ay36HAgS8M/K2pPPjNx3TvDy+R9K82xLn5gfZvoo7/9LPXxSM+vlt870Q8vzYfpT
vPBWzNmuLDJm1XTqE7348yEfuqwW8GIeAUvX9aRbkeg988LR9PPBf150Hn7u2CupVa/mA29unHka
RWcPXvTD5vvn6N+Dh4/OhUHL8+7CChfuSVs37+oXvZv4BROgxfzNe7nInpxmJM6f9KaVpq0/fOzM
ost7us56M4j9ww4+98Ix87WdWgyVy+ycF/WMzvpn9MzxtA4wlzh0/Mwl//1E77ms6FdaRHU6LVB0
xMJLB/ZoGXkmZI2ptfPIaW8ljs6bR2z0Unq9sTnu8KkzXkC2OV8nLp7yl/KYt81f58GjJ1Ph4OZV
lW5WvlN005xOhW0zlR0+dkrxxbSRcWi6kvT/e8/N0XnulLeGVY6biwKncw8eOXZRqm6xP8/CQyfP
nDTX8P86D2dQeGfktzZQaQCv9i5se2BP7lsru5KlaRRwI5nQNPNYBUxKNWT+nnD1h7+d5pNJXH9h
TptEnjt23Cwl9FeN6VBfSeguODpnePbHMJ93UmrVU66p5mX+N59z+o287V3qs5CuxPt/Fsnsy2W9
tfBg7clpRu47J+vis/keSovdnN7Z+WBmVz+7xMNHyxtfCLpMn2LzFTH3KZ5/K+Zs1wJWSz0fcqKb
1wJeZhHYoFfpR6DF/4/HhhR0XV3gjXOh05dujqISx2LxSEWNokcvDEqe/92la1+mI3KbkYwNxeLJ
SE1LSyZc/GLXjA8NKRV06igNOlQsbOqC03JfdOGhsSGNtFXUNC6wQpXIwIrF3lpQy/wdGQPUuPnv
Zb0WBHP5lhYvc18ymayo8DrnMwelKXlOzuzNu5HvlFSj0tAXuWBW1aaqpDEv2Ip0/bpZ8/lCdUe8
1iSHhjQMmb5kVv16ka6tgAbOr2LB63SdS9xaJj64cXHatIU0Mn5c9COWfd1FWWUfsuBVyPozh2U7
YkF1C3Z47Uuam1ueyjhEh8Uv/F7tky8eOjH5vd+vMLegjmlbLJVFmmTQO8nLz1Y+pHE7xTb9/UeD
N8aCyy/YkWnIYjx1rfyfhQXVFbsjtxnp9i5x5xTzUCroVpeF+R4+8Vjf3H0b9KtPZOGtGLJdy/uJ
KNY9bp3niEZxyym0BgIQKG0CKY3ywuD3ns01lyhXAy5/59mHfvcvFNrn1T98Otcx7IcABHwCts6Z
xX8QgAAE1oxAItKla18LLjQOaUvszR+/13n4+In/BYESkhiHrWsC9KOsa/fTeAhAoBgCye6XXvwv
gxt/4fDnH80eWyymMs6BAARyEUCj5CLDfghAAAIQgAAE1pIAYz1rSZ9rQwACEIAABCCQiwAaJRcZ
9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAA
BCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0Chr
SZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCA
AAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAa
JRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwAC
EIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE
0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMA
AhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQ
iwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9r
QwACEIAABCCQiwAaJRcZ9kMAAhCAAAQgsJYE0ChrSZ9rQwACEIAABCCQi8D/D5oavEBtqKdrAAAA
AElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169666</attachid>
            <date>2012-10-19 11:50:16 -0700</date>
            <delta_ts>2012-10-22 11:31:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>13186</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NGY4YzZkLi5kODk3NmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMTItMTAtMTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBFeGNsdXNpb25zXSBQb2ludHMgb24gdGhlIGJvdHRvbSBhbmQgcmlnaHQgZWRnZXMg
b2YgYW4gZXhjbHVzaW9uIHNoYXBlIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzICJvdXRzaWRlIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIHRo
ZSB3YXkgbGluZXMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8gYW5kIEV4Y2x1c2lvblNoYXBlIGNsYXNzZXMKKyAgICAgICAgc28gdGhhdCB0aGV5J3JlIGNv
bnNpc3RlbnQgd2l0aCB0aGUgcmVuZGVyaW5nIGNvZGUgdGhhdCBkZXBlbmRzIG9uIHRoZW0uICBM
aW5lcyBhcmUgbm93IGRlZmluZWQKKyAgICAgICAgYnkgbG9naWNhbFRvcCwgbG9naWNhbEhlaWdo
dCwgaW5zdGVhZCBvZiBsb2dpY2FsVG9wLGxvZ2ljYWxCb3R0b20uICBUaGlzIGEgY2xlYW4tdXAs
IG5vdCBhIGNoYW5nZQorICAgICAgICBpbiBmdW5jdGlvbmFsaXR5LiBJdCdzIGFscmVhZHkgY292
ZXJlZCBieSB0aGUgZXhpc3RpbmcgZmFzdC9leGNsdXNpb25zIExheW91dFRlc3RzLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXhjbHVzaW9uUG9seWdvbjo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6RXhjbHVzaW9uUG9seWdvbjo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMpOgorICAgICAgICAqIHJl
bmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmg6CisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lv
blJlY3RhbmdsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25SZWN0YW5nbGU6Omdl
dEV4Y2x1ZGVkSW50ZXJ2YWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblJlY3Rhbmds
ZTo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMpOgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25S
ZWN0YW5nbGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaDoKKyAgICAg
ICAgKExpbmVTZWdtZW50KTogTW92ZWQgdGhlIHN0cnVjdCBmaWVsZHMgYmVsb3cgdGhlIGNvbnN0
cnVjdG9yIHBlciB3ZWJraXQgc3R5bGUuCisgICAgICAgIChFeGNsdXNpb25TaGFwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZTo6bWluWUZvckxvZ2ljYWxMaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlOjptYXhZRm9yTG9naWNhbExpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpjb21wdXRlU2VnbWVudHNGb3JMaW5lKToK
KyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmg6CisgICAgICAg
IChFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvOjpsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcyk6IENoYW5nZWQgdGhlIHRl
c3QgdG8gbm90IGluY2x1ZGUKKyAgICAgICAgICAgIGxpbmVzIHdob3NlIGxvZ2ljYWxUb3AgaXMg
ZXF1YWwgdG8gdGhlIHNoYXBlJ3MgdG9wK2hlaWdodC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjps
YXlvdXRSdW5zQW5kRmxvYXRzSW5SYW5nZSk6CisKIDIwMTItMTAtMTkgIE5hdGUgQ2hhcGluICA8
amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW9yZGVyIHNvbWUgZnVuY3Rpb25zIGlu
IFN1YnJlc291cmNlTG9hZGVyIHRvIHBlcm1pdCBtYWluIHJlc291cmNlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3BwCmluZGV4IGJhMjBkYzIuLmVhZWVi
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHAK
QEAgLTI0MSwxMyArMjQxLDEzIEBAIHZvaWQgRXhjbHVzaW9uUG9seWdvbjo6Y29tcHV0ZUVkZ2VJ
bnRlcnNlY3Rpb25zKGZsb2F0IHkxLCBmbG9hdCB5MiwgVmVjdG9yPEV4Y2x1CiAgICAgc29ydEV4
Y2x1c2lvbkludGVydmFscyhyZXN1bHQpOwogfQogCi12b2lkIEV4Y2x1c2lvblBvbHlnb246Omdl
dEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20s
IFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0Cit2b2lkIEV4Y2x1c2lvblBvbHlnb246OmdldEV4
Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNl
Z21lbnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwg
bG9naWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNh
bFRvcCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUo
bG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNh
bExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBWZWN0b3I8RXhjbHVzaW9u
SW50ZXJ2YWw+IHkxWEludGVydmFscywgeTJYSW50ZXJ2YWxzOwogICAgIGNvbXB1dGVYSW50ZXJz
ZWN0aW9ucyh5MSwgeTFYSW50ZXJ2YWxzKTsKQEAgLTI2OCwxMyArMjY4LDEzIEBAIHZvaWQgRXhj
bHVzaW9uUG9seWdvbjo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxv
YXQgbG9naWNhbEJvdHRvCiAgICAgfQogfQogCi12b2lkIEV4Y2x1c2lvblBvbHlnb246OmdldElu
Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20sIFNl
Z21lbnRMaXN0JiByZXN1bHQpIGNvbnN0Cit2b2lkIEV4Y2x1c2lvblBvbHlnb246OmdldEluY2x1
ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21l
bnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9n
aWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRv
cCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9n
aWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExp
bmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBWZWN0b3I8RXhjbHVzaW9uSW50
ZXJ2YWw+IHkxWEludGVydmFscywgeTJYSW50ZXJ2YWxzOwogICAgIGNvbXB1dGVYSW50ZXJzZWN0
aW9ucyh5MSwgeTFYSW50ZXJ2YWxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9FeGNsdXNpb25Qb2x5Z29uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uUG9seWdvbi5oCmluZGV4IDU3ZTM1NTIuLmJlMjhhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uaApAQCAtNjAsOSArNjAsOSBAQCBwdWJsaWM6CiAg
ICAgV2luZFJ1bGUgZmlsbFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2ZpbGxSdWxlOyB9CiAKICAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIGludGVybmFsVG9Mb2dpY2FsQm91bmRpbmdCb3gobV9ib3VuZGluZ0JveCk7
IH0KLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRv
cCwgZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxv
YXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGJvb2wgaXNFbXB0eSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fZW1wdHk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxv
YXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9n
aWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKIAogcHJpdmF0ZToKICAg
ICBmbG9hdCByaWdodFZlcnRleFkodW5zaWduZWQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblJlY3RhbmdsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmNwcAppbmRleCAwY2NmNjIyLi4zMjhjYmEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmNw
cApAQCAtNDAsMTMgKzQwLDEzIEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgZWxsaXBzZVhJbnRlcmNl
cHQoZmxvYXQgeSwgZmxvYXQgcngsIGZsb2F0IHJ5KQogICAgIHJldHVybiByeCAqIHNxcnQoMSAt
ICh5KnkpIC8gKHJ5KnJ5KSk7CiB9CiAKLXZvaWQgRXhjbHVzaW9uUmVjdGFuZ2xlOjpnZXRFeGNs
dWRlZEludGVydmFscyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdt
ZW50TGlzdCYgcmVzdWx0KSBjb25zdAordm9pZCBFeGNsdXNpb25SZWN0YW5nbGU6OmdldEV4Y2x1
ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21l
bnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9n
aWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRv
cCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9n
aWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExp
bmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBpZiAoeTIgPCBtX3kgfHwgeTEg
Pj0gbV95ICsgbV9oZWlnaHQpCiAgICAgICAgIHJldHVybjsKQEAgLTcxLDEzICs3MSwxMyBAQCB2
b2lkIEV4Y2x1c2lvblJlY3RhbmdsZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNh
bFRvcCwgZmxvYXQgbG9naWNhbEJvdAogICAgIHJlc3VsdC5hcHBlbmQoTGluZVNlZ21lbnQoeDEs
IHgyKSk7CiB9CiAKLXZvaWQgRXhjbHVzaW9uUmVjdGFuZ2xlOjpnZXRJbmNsdWRlZEludGVydmFs
cyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYgcmVz
dWx0KSBjb25zdAordm9pZCBFeGNsdXNpb25SZWN0YW5nbGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxz
KGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JiByZXN1
bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7
Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEJv
dHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9n
aWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRv
cCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBpZiAoeTEgPCBtX3kgfHwgeTIgPiBtX3kgKyBtX2hl
aWdodCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0V4Y2x1c2lvblJlY3RhbmdsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblJlY3RhbmdsZS5oCmluZGV4IDAwNzgyNjQuLjU4MzllZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25SZWN0YW5nbGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmgKQEAgLTUxLDkgKzUxLDkgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlTG9naWNhbEJvdW5kaW5n
Qm94KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gaW50ZXJuYWxUb0xvZ2ljYWxCb3VuZGluZ0Jv
eChGbG9hdFJlY3QobV94LCBtX3ksIG1fd2lkdGgsIG1faGVpZ2h0KSk7IH0KLSAgICB2aXJ0dWFs
IHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNh
bEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
Z2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdHRv
bSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNFbXB0
eSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fd2lkdGggPD0gMCB8fCBtX2hlaWdodCA8PSAw
OyB9CisgICAgdmlydHVhbCB2b2lkIGdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxU
b3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZs
b2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgT1ZFUlJJREU7CiAKIHByaXZh
dGU6CiAgICAgZmxvYXQgbV94OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGUuaAppbmRleCBhNzVhYjcwLi4wNzVjMDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXhjbHVzaW9uU2hhcGUuaApAQCAtMzksMTQgKzM5LDE0IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0cnVjdCBMaW5lU2VnbWVudCB7Ci0gICAgZmxvYXQgbG9naWNhbExlZnQ7Ci0gICAgZmxv
YXQgbG9naWNhbFJpZ2h0OwotCiAgICAgTGluZVNlZ21lbnQoZmxvYXQgbG9naWNhbExlZnQsIGZs
b2F0IGxvZ2ljYWxSaWdodCkKICAgICAgICAgOiBsb2dpY2FsTGVmdChsb2dpY2FsTGVmdCkKICAg
ICAgICAgLCBsb2dpY2FsUmlnaHQobG9naWNhbFJpZ2h0KQogICAgIHsKICAgICB9CisKKyAgICBm
bG9hdCBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQ7CiB9OwogCiB0eXBlZGVm
IFZlY3RvcjxMaW5lU2VnbWVudD4gU2VnbWVudExpc3Q7CkBAIC02NCwxNCArNjQsMTMgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgfkV4Y2x1c2lvblNoYXBlKCkgeyB9CiAKICAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBzaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFs
IEZsb2F0UmVjdCBzaGFwZUJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0Jv
eDsgfQotICAgIHZpcnR1YWwgdm9pZCBnZXRJbmNsdWRlZEludGVydmFscyhmbG9hdCBsb2dpY2Fs
VG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYpIGNvbnN0ID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQg
bG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29s
IGlzRW1wdHkoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2
YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0Jikg
Y29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBnZXRFeGNsdWRlZEludGVydmFscyhmbG9hdCBs
b2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsSGVpZ2h0LCBTZWdtZW50TGlzdCYpIGNvbnN0ID0gMDsK
IAogcHJvdGVjdGVkOgotICAgIGZsb2F0IG1pbllGb3JMb2dpY2FsTGluZShmbG9hdCBsb2dpY2Fs
VG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tKSBjb25zdCB7IHJldHVybiAobV93cml0aW5nTW9kZSA9
PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlKSA/IG1fbG9naWNhbEJveEhlaWdodCAtIGxvZ2ljYWxC
b3R0b20gOiBsb2dpY2FsVG9wOyB9Ci0gICAgZmxvYXQgbWF4WUZvckxvZ2ljYWxMaW5lKGZsb2F0
IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20pIGNvbnN0IHsgcmV0dXJuIChtX3dyaXRp
bmdNb2RlID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpID8gbV9sb2dpY2FsQm94SGVpZ2h0IC0g
bG9naWNhbFRvcCA6IGxvZ2ljYWxCb3R0b207IH0KKyAgICBmbG9hdCBtaW5ZRm9yTG9naWNhbExp
bmUoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEhlaWdodCkgY29uc3QgeyByZXR1cm4g
KG1fd3JpdGluZ01vZGUgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkgPyBtX2xvZ2ljYWxCb3hI
ZWlnaHQgLSBsb2dpY2FsVG9wIC0gbG9naWNhbEhlaWdodCA6IGxvZ2ljYWxUb3A7IH0KKyAgICBm
bG9hdCBtYXhZRm9yTG9naWNhbExpbmUoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEhl
aWdodCkgY29uc3QgeyByZXR1cm4gKG1fd3JpdGluZ01vZGUgPT0gUmlnaHRUb0xlZnRXcml0aW5n
TW9kZSkgPyBtX2xvZ2ljYWxCb3hIZWlnaHQgLSBsb2dpY2FsVG9wIDogbG9naWNhbFRvcCArIGxv
Z2ljYWxIZWlnaHQ7IH0KICAgICBGbG9hdFJlY3QgaW50ZXJuYWxUb0xvZ2ljYWxCb3VuZGluZ0Jv
eChGbG9hdFJlY3QgcikgY29uc3QgeyByZXR1cm4gKG1fd3JpdGluZ01vZGUgPT0gUmlnaHRUb0xl
ZnRXcml0aW5nTW9kZSkgPyBGbG9hdFJlY3Qoci54KCksIG1fbG9naWNhbEJveEhlaWdodCAtIHIu
bWF4WSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkpIDogcjsgfQogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNw
cAppbmRleCBiZjdmMzBkLi5iNzgzMGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcApAQCAtMTAwLDE2ICsxMDAsMTYg
QEAgdm9pZCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmNvbXB1dGVTaGFwZVNpemUoTGF5b3V0
VW5pdCBsb2dpY2FsV2lkdGgsIExheW91dFUKICAgICBBU1NFUlQobV9zaGFwZSk7CiB9CiAKLWJv
b2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpjb21wdXRlU2VnbWVudHNGb3JMaW5lKExheW91
dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKQorYm9vbCBFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBM
YXlvdXRVbml0IGxpbmVIZWlnaHQpCiB7Ci0gICAgQVNTRVJUKGxpbmVUb3AgPD0gbGluZUJvdHRv
bSk7CisgICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7CiAgICAgbV9saW5lVG9wID0gbGluZVRv
cDsKLSAgICBtX2xpbmVCb3R0b20gPSBsaW5lQm90dG9tOworICAgIG1fbGluZUhlaWdodCA9IGxp
bmVIZWlnaHQ7CiAgICAgbV9zZWdtZW50cy5jbGVhcigpOwogCiAgICAgaWYgKGxpbmVPdmVybGFw
c1NoYXBlQm91bmRzKCkpIHsKICAgICAgICAgQVNTRVJUKG1fc2hhcGUpOwotICAgICAgICBtX3No
YXBlLT5nZXRJbmNsdWRlZEludGVydmFscyhsaW5lVG9wLCBzdGQ6Om1pbihsaW5lQm90dG9tLCBz
aGFwZUxvZ2ljYWxCb3R0b20oKSksIG1fc2VnbWVudHMpOworICAgICAgICBtX3NoYXBlLT5nZXRJ
bmNsdWRlZEludGVydmFscyhsaW5lVG9wLCBzdGQ6Om1pbihsaW5lSGVpZ2h0LCBzaGFwZUxvZ2lj
YWxCb3R0b20oKSAtIGxpbmVUb3ApLCBtX3NlZ21lbnRzKTsKICAgICB9CiAgICAgcmV0dXJuIG1f
c2VnbWVudHMuc2l6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmluZGV4IDlkYjFiMTAuLmJlYTJiNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluc2lkZUluZm8uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmgK
QEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoaGFzU2VnbWVudHMoKSk7
CiAgICAgICAgIHJldHVybiBtX3NlZ21lbnRzOwogICAgIH0KLSAgICBib29sIGNvbXB1dGVTZWdt
ZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20pOwor
ICAgIGJvb2wgY29tcHV0ZVNlZ21lbnRzRm9yTGluZShMYXlvdXRVbml0IGxpbmVUb3AsIExheW91
dFVuaXQgbGluZUhlaWdodCk7CiAgICAgYm9vbCBsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNv
bnN0OwogICAgIHZvaWQgY29tcHV0ZVNoYXBlU2l6ZShMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwg
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KTsKICAgICB2b2lkIGRpcnR5U2hhcGVTaXplKCkgeyBt
X3NoYXBlU2l6ZURpcnR5ID0gdHJ1ZTsgfQpAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogICAg
IE93blB0cjxFeGNsdXNpb25TaGFwZT4gbV9zaGFwZTsKIAogICAgIExheW91dFVuaXQgbV9saW5l
VG9wOwotICAgIExheW91dFVuaXQgbV9saW5lQm90dG9tOworICAgIExheW91dFVuaXQgbV9saW5l
SGVpZ2h0OwogICAgIExheW91dFVuaXQgbV9sb2dpY2FsV2lkdGg7CiAgICAgTGF5b3V0VW5pdCBt
X2xvZ2ljYWxIZWlnaHQ7CiAKQEAgLTk3LDcgKzk3LDcgQEAgaW5saW5lIGJvb2wgRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvOjpsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKG1fc2hhcGUpOwogICAgIEZsb2F0UmVjdCBzaGFwZUJvdW5kcyA9IG1fc2hhcGUtPnNo
YXBlTG9naWNhbEJvdW5kaW5nQm94KCk7Ci0gICAgcmV0dXJuIG1fbGluZVRvcCA8PSBzaGFwZUJv
dW5kcy5tYXhZKCkgJiYgbV9saW5lQm90dG9tID49IHNoYXBlQm91bmRzLnkoKTsKKyAgICByZXR1
cm4gbV9saW5lVG9wIDwgc2hhcGVCb3VuZHMubWF4WSgpICYmIG1fbGluZVRvcCArIG1fbGluZUhl
aWdodCA+PSBzaGFwZUJvdW5kcy55KCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggOTY2MTc5Mi4uZWE0OWVj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKQEAgLTE0MzQsOCArMTQzNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFJ1
bnNBbmRGbG9hdHNJblJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIElubGluCiAg
ICAgICAgIC8vIGNhc2UgdGhlc2Ugc2VnbWVudHMgbWF5IGJlIGluY29ycmVjdC4KICAgICAgICAg
aWYgKGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbykgewogICAgICAgICAgICAgTGF5b3V0VW5pdCBs
aW5lVG9wID0gbG9naWNhbEhlaWdodCgpICsgYWJzb2x1dGVMb2dpY2FsVG9wOwotICAgICAgICAg
ICAgTGF5b3V0VW5pdCBsaW5lQm90dG9tID0gbGluZVRvcCArIGxpbmVIZWlnaHQobGF5b3V0U3Rh
dGUubGluZUluZm8oKS5pc0ZpcnN0TGluZSgpLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
SG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hl
cyk7Ci0gICAgICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmNvbXB1dGVTZWdtZW50
c0ZvckxpbmUobGluZVRvcCwgbGluZUJvdHRvbSk7CisgICAgICAgICAgICBleGNsdXNpb25TaGFw
ZUluc2lkZUluZm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwgbGluZUhlaWdodChs
YXlvdXRTdGF0ZS5saW5lSW5mbygpLmlzRmlyc3RMaW5lKCksIGlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9y
TGluZUJveGVzKSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBXb3JkTWVhc3VyZW1lbnRz
IHdvcmRNZWFzdXJlbWVudHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169948</attachid>
            <date>2012-10-22 11:31:26 -0700</date>
            <delta_ts>2012-10-22 13:14:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>16960</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMmY2OGVhLi5lZTFhNzU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAt
MjIgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBFeGNs
dXNpb25zXSBQb2ludHMgb24gdGhlIGJvdHRvbSBhbmQgcmlnaHQgZWRnZXMgb2YgYW4gZXhjbHVz
aW9uIHNoYXBlIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzICJvdXRzaWRlIgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWZXJpZnkgdGhhdCBhIGV4Y2x1c2lv
biBzaGFwZS1pbnNpZGUgb3ZlcmxhcHMgbGluZXMgd2hvc2UgdG9wIGlzIGxlc3MgdGhhbiB0aGUK
KyAgICAgICAgc2hhcGUgYm91bmRzJyB0b3AraGVpZ2h0IGJ1dCBub3QgZXF1YWwgdG8gdGhlIHNo
YXBlIGJvdW5kcycgdG9wK2hlaWdodC4KKworICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFw
ZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWJvdHRvbS1lZGdlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWJvdHRv
bS1lZGdlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZ1cnRoZXIgQXBwbGUgTWFjIGJhc2Vs
aW5lcyBmb3Igc2hhZG93IERPTSBjaGFuZ2VzIHRvIFJlbmRlclNsaWRlci4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWJv
dHRvbS1lZGdlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtaW5zaWRlL3NoYXBlLWluc2lkZS1ib3R0b20tZWRnZS1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhN2FhMzIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1ib3R0
b20tZWRnZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5zaGFwZS1pbnNpZGUgeworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICBsZWZ0OiAwcHg7CisgICAgd2lkdGg6IDYwMHB4OworICAgIGhlaWdodDog
MjAwcHg7Cit9CisKKy5zaGFwZS1iYWNrZ3JvdW5kIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7
CisgICAgbGVmdDogNTBweDsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKworI3NoYXBlLWJhY2tncm91bmQtbm8t
b3ZlcmxhcCB7CisgICAgdG9wOiA1MHB4OworfQorCisjc2hhcGUtaW5zaWRlLW5vLW92ZXJsYXAg
eworICAgIHRvcDogMHB4OworICAgIHBhZGRpbmctdG9wOiAxNTBweDsKK30KKworI3NoYXBlLWJh
Y2tncm91bmQtb3ZlcmxhcCB7CisgICAgdG9wOiAyNTBweDsKK30KKworI3NoYXBlLWluc2lkZS1v
dmVybGFwIHsKKyAgICB0b3A6IDIwMHB4OworICAgIHBhZGRpbmctbGVmdDogNTBweDsKKyAgICBw
YWRkaW5nLXRvcDogMTQ5LjlweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8
ZGl2IGlkPSJzaGFwZS1iYWNrZ3JvdW5kLW5vLW92ZXJsYXAiIGNsYXNzPSJzaGFwZS1iYWNrZ3Jv
dW5kIj48L2Rpdj4KKyAgPGRpdiBpZD0ic2hhcGUtaW5zaWRlLW5vLW92ZXJsYXAiIGNsYXNzPSJz
aGFwZS1pbnNpZGUiPlRoaXMgdGV4dCBzaG91bGQgYXBwZWFyIGJlbG93IGFuZCB0byB0aGUgbGVm
dCBvZiB0aGUgZ3JlZW4gcmVjdGFuZ2xlLjwvZGl2PgorCisgIDxkaXYgaWQ9InNoYXBlLWJhY2tn
cm91bmQtb3ZlcmxhcCIgY2xhc3M9InNoYXBlLWJhY2tncm91bmQiPjwvZGl2PgorICA8ZGl2IGlk
PSJzaGFwZS1pbnNpZGUtb3ZlcmxhcCIgY2xhc3M9InNoYXBlLWluc2lkZSI+VGhpcyB0ZXh0IHNo
b3VsZCBkaXJlY3RseSBhcHBlYXIgYmVsb3cgdGhlIGdyZWVuIHJlY3RhbmdsZS48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9z
aGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWJvdHRvbS1lZGdlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2V4Y2x1c2lvbnMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1ib3R0b20tZWRnZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4MzlkNjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtaW5zaWRlL3NoYXBlLWlu
c2lkZS1ib3R0b20tZWRnZS5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1
ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5zaGFwZS1pbnNpZGUgeworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICBsZWZ0OiAwcHg7CisgICAgd2lkdGg6IDYwMHB4OworICAgIGhlaWdodDog
MjAwcHg7CisgICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSg1MHB4LCA1MHB4LCA0
MDBweCwgMTAwcHgpOworfQorCisuc2hhcGUtYmFja2dyb3VuZCB7CisgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIGxlZnQ6IDUwcHg7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDog
MTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9CisKKyNzaGFwZS1iYWNrZ3Jv
dW5kLW5vLW92ZXJsYXAgeworICAgIHRvcDogNTBweDsKK30KKworI3NoYXBlLWluc2lkZS1uby1v
dmVybGFwIHsKKyAgICB0b3A6IDBweDsKKyAgICBwYWRkaW5nLXRvcDogMTUwcHg7Cit9CisKKyNz
aGFwZS1iYWNrZ3JvdW5kLW92ZXJsYXAgeworICAgIHRvcDogMjUwcHg7Cit9CisKKyNzaGFwZS1p
bnNpZGUtb3ZlcmxhcCB7CisgICAgdG9wOiAyMDBweDsKKyAgICBwYWRkaW5nLXRvcDogMTQ5Ljlw
eDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8ZGl2IGlkPSJzaGFwZS1iYWNr
Z3JvdW5kLW5vLW92ZXJsYXAiIGNsYXNzPSJzaGFwZS1iYWNrZ3JvdW5kIj48L2Rpdj4KKyAgPGRp
diBpZD0ic2hhcGUtaW5zaWRlLW5vLW92ZXJsYXAiIGNsYXNzPSJzaGFwZS1pbnNpZGUiPlRoaXMg
dGV4dCBzaG91bGQgYXBwZWFyIGJlbG93IGFuZCB0byB0aGUgbGVmdCBvZiB0aGUgZ3JlZW4gcmVj
dGFuZ2xlLjwvZGl2PgorCisgIDxkaXYgaWQ9InNoYXBlLWJhY2tncm91bmQtb3ZlcmxhcCIgY2xh
c3M9InNoYXBlLWJhY2tncm91bmQiPjwvZGl2PgorICA8ZGl2IGlkPSJzaGFwZS1pbnNpZGUtb3Zl
cmxhcCIgY2xhc3M9InNoYXBlLWluc2lkZSI+VGhpcyB0ZXh0IHNob3VsZCBkaXJlY3RseSBhcHBl
YXIgYmVsb3cgdGhlIGdyZWVuIHJlY3RhbmdsZS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAzM2NkMWY0Li43YTJjOWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTItMTAtMTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAg
W0NTUyBFeGNsdXNpb25zXSBQb2ludHMgb24gdGhlIGJvdHRvbSBhbmQgcmlnaHQgZWRnZXMgb2Yg
YW4gZXhjbHVzaW9uIHNoYXBlIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzICJvdXRzaWRlIgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NjcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIHRoZSB3
YXkgbGluZXMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8g
YW5kIEV4Y2x1c2lvblNoYXBlIGNsYXNzZXMKKyAgICAgICAgc28gdGhhdCB0aGV5J3JlIGNvbnNp
c3RlbnQgd2l0aCB0aGUgcmVuZGVyaW5nIGNvZGUgdGhhdCBkZXBlbmRzIG9uIHRoZW0uICBMaW5l
cyBhcmUgbm93IGRlZmluZWQKKyAgICAgICAgYnkgbG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCwg
aW5zdGVhZCBvZiBsb2dpY2FsVG9wLGxvZ2ljYWxCb3R0b20uICBUaGlzIGEgY2xlYW4tdXAsIG5v
dCBhIGNoYW5nZQorICAgICAgICBpbiBmdW5jdGlvbmFsaXR5LiBJdCdzIGFscmVhZHkgY292ZXJl
ZCBieSB0aGUgZXhpc3RpbmcgZmFzdC9leGNsdXNpb25zIExheW91dFRlc3RzLgorCisgICAgICAg
IFRlc3Q6IGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWJvdHRvbS1l
ZGdlLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblBvbHlnb246OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKToK
KyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblBvbHlnb246OmdldEluY2x1ZGVkSW50ZXJ2YWxz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5oOgorICAgICAgICAqIHJl
bmRlcmluZy9FeGNsdXNpb25SZWN0YW5nbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVz
aW9uUmVjdGFuZ2xlOjpnZXRFeGNsdWRlZEludGVydmFscyk6CisgICAgICAgIChXZWJDb3JlOjpF
eGNsdXNpb25SZWN0YW5nbGU6OmdldEluY2x1ZGVkSW50ZXJ2YWxzKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmg6CisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lv
blNoYXBlLmg6CisgICAgICAgIChMaW5lU2VnbWVudCk6IE1vdmVkIHRoZSBzdHJ1Y3QgZmllbGRz
IGJlbG93IHRoZSBjb25zdHJ1Y3RvciBwZXIgd2Via2l0IHN0eWxlLgorICAgICAgICAoRXhjbHVz
aW9uU2hhcGUpOgorICAgICAgICAoV2ViQ29yZTo6RXhjbHVzaW9uU2hhcGU6Om1pbllGb3JMb2dp
Y2FsTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpFeGNsdXNpb25TaGFwZTo6bWF4WUZvckxvZ2lj
YWxMaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6Y29tcHV0ZVNl
Z21lbnRzRm9yTGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mby5oOgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKToKKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbzo6bGluZU92ZXJsYXBzU2hhcGVCb3VuZHMp
OiBDaGFuZ2VkIHRoZSB0ZXN0IHRvIG5vdCBpbmNsdWRlCisgICAgICAgICAgICBsaW5lcyB3aG9z
ZSBsb2dpY2FsVG9wIGlzIGVxdWFsIHRvIHRoZSBzaGFwZSdzIHRvcCtoZWlnaHQuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorCiAyMDEyLTEwLTIy
ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb2RpZnkgTGF5
b3V0U3RhdGUgQVNTRVJUUyB0byBzdXBwb3J0IFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3BwCmluZGV4IGJh
MjBkYzIuLmVhZWViYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25Qb2x5Z29uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
UG9seWdvbi5jcHAKQEAgLTI0MSwxMyArMjQxLDEzIEBAIHZvaWQgRXhjbHVzaW9uUG9seWdvbjo6
Y29tcHV0ZUVkZ2VJbnRlcnNlY3Rpb25zKGZsb2F0IHkxLCBmbG9hdCB5MiwgVmVjdG9yPEV4Y2x1
CiAgICAgc29ydEV4Y2x1c2lvbkludGVydmFscyhyZXN1bHQpOwogfQogCi12b2lkIEV4Y2x1c2lv
blBvbHlnb246OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxv
Z2ljYWxCb3R0b20sIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0Cit2b2lkIEV4Y2x1c2lvblBv
bHlnb246OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2lj
YWxIZWlnaHQsIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUo
bG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNh
bExpbmUobG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9y
TG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBt
YXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBWZWN0
b3I8RXhjbHVzaW9uSW50ZXJ2YWw+IHkxWEludGVydmFscywgeTJYSW50ZXJ2YWxzOwogICAgIGNv
bXB1dGVYSW50ZXJzZWN0aW9ucyh5MSwgeTFYSW50ZXJ2YWxzKTsKQEAgLTI2OCwxMyArMjY4LDEz
IEBAIHZvaWQgRXhjbHVzaW9uUG9seWdvbjo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9n
aWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdHRvCiAgICAgfQogfQogCi12b2lkIEV4Y2x1c2lvblBv
bHlnb246OmdldEluY2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2lj
YWxCb3R0b20sIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0Cit2b2lkIEV4Y2x1c2lvblBvbHln
b246OmdldEluY2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxI
ZWlnaHQsIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9n
aWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExp
bmUobG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9n
aWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZ
Rm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBWZWN0b3I8
RXhjbHVzaW9uSW50ZXJ2YWw+IHkxWEludGVydmFscywgeTJYSW50ZXJ2YWxzOwogICAgIGNvbXB1
dGVYSW50ZXJzZWN0aW9ucyh5MSwgeTFYSW50ZXJ2YWxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5oCmluZGV4IDU3ZTM1NTIuLmJlMjhhN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uaApAQCAtNjAsOSArNjAsOSBA
QCBwdWJsaWM6CiAgICAgV2luZFJ1bGUgZmlsbFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2ZpbGxS
dWxlOyB9CiAKICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGludGVybmFsVG9Mb2dpY2FsQm91bmRpbmdCb3gobV9i
b3VuZGluZ0JveCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxv
YXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9n
aWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgaXNFbXB0eSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1f
ZW1wdHk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9n
aWNhbFRvcCwgZmxvYXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRv
cCwgZmxvYXQgbG9naWNhbEhlaWdodCwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKIAog
cHJpdmF0ZToKICAgICBmbG9hdCByaWdodFZlcnRleFkodW5zaWduZWQpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblJlY3RhbmdsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmNwcAppbmRleCAwY2Nm
NjIyLi4zMjhjYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uUmVjdGFuZ2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
UmVjdGFuZ2xlLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgZWxs
aXBzZVhJbnRlcmNlcHQoZmxvYXQgeSwgZmxvYXQgcngsIGZsb2F0IHJ5KQogICAgIHJldHVybiBy
eCAqIHNxcnQoMSAtICh5KnkpIC8gKHJ5KnJ5KSk7CiB9CiAKLXZvaWQgRXhjbHVzaW9uUmVjdGFu
Z2xlOjpnZXRFeGNsdWRlZEludGVydmFscyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2Fs
Qm90dG9tLCBTZWdtZW50TGlzdCYgcmVzdWx0KSBjb25zdAordm9pZCBFeGNsdXNpb25SZWN0YW5n
bGU6OmdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxI
ZWlnaHQsIFNlZ21lbnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9n
aWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExp
bmUobG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9n
aWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZ
Rm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBpZiAoeTIg
PCBtX3kgfHwgeTEgPj0gbV95ICsgbV9oZWlnaHQpCiAgICAgICAgIHJldHVybjsKQEAgLTcxLDEz
ICs3MSwxMyBAQCB2b2lkIEV4Y2x1c2lvblJlY3RhbmdsZTo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMo
ZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdAogICAgIHJlc3VsdC5hcHBlbmQoTGlu
ZVNlZ21lbnQoeDEsIHgyKSk7CiB9CiAKLXZvaWQgRXhjbHVzaW9uUmVjdGFuZ2xlOjpnZXRJbmNs
dWRlZEludGVydmFscyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdt
ZW50TGlzdCYgcmVzdWx0KSBjb25zdAordm9pZCBFeGNsdXNpb25SZWN0YW5nbGU6OmdldEluY2x1
ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21l
bnRMaXN0JiByZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9naWNhbFRvcCwgbG9n
aWNhbEJvdHRvbSk7Ci0gICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExpbmUobG9naWNhbFRv
cCwgbG9naWNhbEJvdHRvbSk7CisgICAgZmxvYXQgeTEgPSBtaW5ZRm9yTG9naWNhbExpbmUobG9n
aWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CisgICAgZmxvYXQgeTIgPSBtYXhZRm9yTG9naWNhbExp
bmUobG9naWNhbFRvcCwgbG9naWNhbEhlaWdodCk7CiAKICAgICBpZiAoeTEgPCBtX3kgfHwgeTIg
PiBtX3kgKyBtX2hlaWdodCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblJlY3RhbmdsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblJlY3RhbmdsZS5oCmluZGV4IDAwNzgyNjQuLjU4MzllZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25SZWN0YW5nbGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUmVjdGFuZ2xlLmgKQEAgLTUxLDkg
KzUxLDkgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlTG9n
aWNhbEJvdW5kaW5nQm94KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gaW50ZXJuYWxUb0xvZ2lj
YWxCb3VuZGluZ0JveChGbG9hdFJlY3QobV94LCBtX3ksIG1fd2lkdGgsIG1faGVpZ2h0KSk7IH0K
LSAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwg
ZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQg
bG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IGJvb2wgaXNFbXB0eSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fd2lkdGggPD0gMCB8fCBt
X2hlaWdodCA8PSAwOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZs
b2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxv
Z2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNlZ21lbnRMaXN0JikgY29uc3QgT1ZFUlJJ
REU7CiAKIHByaXZhdGU6CiAgICAgZmxvYXQgbV94OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXhjbHVzaW9uU2hhcGUuaAppbmRleCBhNzVhYjcwLi4wNzVjMDAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaApAQCAtMzksMTQgKzM5LDE0IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBMaW5lU2VnbWVudCB7Ci0gICAgZmxvYXQgbG9naWNhbExl
ZnQ7Ci0gICAgZmxvYXQgbG9naWNhbFJpZ2h0OwotCiAgICAgTGluZVNlZ21lbnQoZmxvYXQgbG9n
aWNhbExlZnQsIGZsb2F0IGxvZ2ljYWxSaWdodCkKICAgICAgICAgOiBsb2dpY2FsTGVmdChsb2dp
Y2FsTGVmdCkKICAgICAgICAgLCBsb2dpY2FsUmlnaHQobG9naWNhbFJpZ2h0KQogICAgIHsKICAg
ICB9CisKKyAgICBmbG9hdCBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQ7CiB9
OwogCiB0eXBlZGVmIFZlY3RvcjxMaW5lU2VnbWVudD4gU2VnbWVudExpc3Q7CkBAIC02NCwxNCAr
NjQsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkV4Y2x1c2lvblNoYXBlKCkgeyB9CiAKICAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0ID0gMDsK
LSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4g
bV9ib3VuZGluZ0JveDsgfQotICAgIHZpcnR1YWwgdm9pZCBnZXRJbmNsdWRlZEludGVydmFscyhm
bG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNh
bFRvcCwgZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBib29sIGlzRW1wdHkoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGdldElu
Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIFNl
Z21lbnRMaXN0JikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBnZXRFeGNsdWRlZEludGVy
dmFscyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsSGVpZ2h0LCBTZWdtZW50TGlzdCYp
IGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgotICAgIGZsb2F0IG1pbllGb3JMb2dpY2FsTGluZShm
bG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tKSBjb25zdCB7IHJldHVybiAobV93
cml0aW5nTW9kZSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlKSA/IG1fbG9naWNhbEJveEhlaWdo
dCAtIGxvZ2ljYWxCb3R0b20gOiBsb2dpY2FsVG9wOyB9Ci0gICAgZmxvYXQgbWF4WUZvckxvZ2lj
YWxMaW5lKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20pIGNvbnN0IHsgcmV0
dXJuIChtX3dyaXRpbmdNb2RlID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpID8gbV9sb2dpY2Fs
Qm94SGVpZ2h0IC0gbG9naWNhbFRvcCA6IGxvZ2ljYWxCb3R0b207IH0KKyAgICBmbG9hdCBtaW5Z
Rm9yTG9naWNhbExpbmUoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQgbG9naWNhbEhlaWdodCkgY29u
c3QgeyByZXR1cm4gKG1fd3JpdGluZ01vZGUgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkgPyBt
X2xvZ2ljYWxCb3hIZWlnaHQgLSBsb2dpY2FsVG9wIC0gbG9naWNhbEhlaWdodCA6IGxvZ2ljYWxU
b3A7IH0KKyAgICBmbG9hdCBtYXhZRm9yTG9naWNhbExpbmUoZmxvYXQgbG9naWNhbFRvcCwgZmxv
YXQgbG9naWNhbEhlaWdodCkgY29uc3QgeyByZXR1cm4gKG1fd3JpdGluZ01vZGUgPT0gUmlnaHRU
b0xlZnRXcml0aW5nTW9kZSkgPyBtX2xvZ2ljYWxCb3hIZWlnaHQgLSBsb2dpY2FsVG9wIDogbG9n
aWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQ7IH0KICAgICBGbG9hdFJlY3QgaW50ZXJuYWxUb0xvZ2lj
YWxCb3VuZGluZ0JveChGbG9hdFJlY3QgcikgY29uc3QgeyByZXR1cm4gKG1fd3JpdGluZ01vZGUg
PT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkgPyBGbG9hdFJlY3Qoci54KCksIG1fbG9naWNhbEJv
eEhlaWdodCAtIHIubWF4WSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkpIDogcjsgfQogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvLmNwcAppbmRleCBiZjdmMzBkLi5iNzgzMGYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLmNwcApAQCAtMTAw
LDE2ICsxMDAsMTYgQEAgdm9pZCBFeGNsdXNpb25TaGFwZUluc2lkZUluZm86OmNvbXB1dGVTaGFw
ZVNpemUoTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIExheW91dFUKICAgICBBU1NFUlQobV9zaGFw
ZSk7CiB9CiAKLWJvb2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpjb21wdXRlU2VnbWVudHNG
b3JMaW5lKExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKQorYm9vbCBF
eGNsdXNpb25TaGFwZUluc2lkZUluZm86OmNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5p
dCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVIZWlnaHQpCiB7Ci0gICAgQVNTRVJUKGxpbmVUb3Ag
PD0gbGluZUJvdHRvbSk7CisgICAgQVNTRVJUKGxpbmVIZWlnaHQgPj0gMCk7CiAgICAgbV9saW5l
VG9wID0gbGluZVRvcDsKLSAgICBtX2xpbmVCb3R0b20gPSBsaW5lQm90dG9tOworICAgIG1fbGlu
ZUhlaWdodCA9IGxpbmVIZWlnaHQ7CiAgICAgbV9zZWdtZW50cy5jbGVhcigpOwogCiAgICAgaWYg
KGxpbmVPdmVybGFwc1NoYXBlQm91bmRzKCkpIHsKICAgICAgICAgQVNTRVJUKG1fc2hhcGUpOwot
ICAgICAgICBtX3NoYXBlLT5nZXRJbmNsdWRlZEludGVydmFscyhsaW5lVG9wLCBzdGQ6Om1pbihs
aW5lQm90dG9tLCBzaGFwZUxvZ2ljYWxCb3R0b20oKSksIG1fc2VnbWVudHMpOworICAgICAgICBt
X3NoYXBlLT5nZXRJbmNsdWRlZEludGVydmFscyhsaW5lVG9wLCBzdGQ6Om1pbihsaW5lSGVpZ2h0
LCBzaGFwZUxvZ2ljYWxCb3R0b20oKSAtIGxpbmVUb3ApLCBtX3NlZ21lbnRzKTsKICAgICB9CiAg
ICAgcmV0dXJuIG1fc2VnbWVudHMuc2l6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oCmluZGV4IDlkYjFiMTAuLmJlYTJi
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUlu
c2lkZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvLmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoaGFz
U2VnbWVudHMoKSk7CiAgICAgICAgIHJldHVybiBtX3NlZ21lbnRzOwogICAgIH0KLSAgICBib29s
IGNvbXB1dGVTZWdtZW50c0ZvckxpbmUoTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxp
bmVCb3R0b20pOworICAgIGJvb2wgY29tcHV0ZVNlZ21lbnRzRm9yTGluZShMYXlvdXRVbml0IGxp
bmVUb3AsIExheW91dFVuaXQgbGluZUhlaWdodCk7CiAgICAgYm9vbCBsaW5lT3ZlcmxhcHNTaGFw
ZUJvdW5kcygpIGNvbnN0OwogICAgIHZvaWQgY29tcHV0ZVNoYXBlU2l6ZShMYXlvdXRVbml0IGxv
Z2ljYWxXaWR0aCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KTsKICAgICB2b2lkIGRpcnR5U2hh
cGVTaXplKCkgeyBtX3NoYXBlU2l6ZURpcnR5ID0gdHJ1ZTsgfQpAQCAtODUsNyArODUsNyBAQCBw
cml2YXRlOgogICAgIE93blB0cjxFeGNsdXNpb25TaGFwZT4gbV9zaGFwZTsKIAogICAgIExheW91
dFVuaXQgbV9saW5lVG9wOwotICAgIExheW91dFVuaXQgbV9saW5lQm90dG9tOworICAgIExheW91
dFVuaXQgbV9saW5lSGVpZ2h0OwogICAgIExheW91dFVuaXQgbV9sb2dpY2FsV2lkdGg7CiAgICAg
TGF5b3V0VW5pdCBtX2xvZ2ljYWxIZWlnaHQ7CiAKQEAgLTk3LDcgKzk3LDcgQEAgaW5saW5lIGJv
b2wgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvOjpsaW5lT3ZlcmxhcHNTaGFwZUJvdW5kcygpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKG1fc2hhcGUpOwogICAgIEZsb2F0UmVjdCBzaGFwZUJvdW5kcyA9
IG1fc2hhcGUtPnNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCk7Ci0gICAgcmV0dXJuIG1fbGluZVRv
cCA8PSBzaGFwZUJvdW5kcy5tYXhZKCkgJiYgbV9saW5lQm90dG9tID49IHNoYXBlQm91bmRzLnko
KTsKKyAgICByZXR1cm4gbV9saW5lVG9wIDwgc2hhcGVCb3VuZHMubWF4WSgpICYmIG1fbGluZVRv
cCArIG1fbGluZUhlaWdodCA+PSBzaGFwZUJvdW5kcy55KCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggMWNm
ZDFlMC4uNzU2YTNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTE0MzYsOCArMTQzNiw3IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3Rh
dGUsIElubGluCiAgICAgICAgIC8vIGNhc2UgdGhlc2Ugc2VnbWVudHMgbWF5IGJlIGluY29ycmVj
dC4KICAgICAgICAgaWYgKGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbykgewogICAgICAgICAgICAg
TGF5b3V0VW5pdCBsaW5lVG9wID0gbG9naWNhbEhlaWdodCgpICsgYWJzb2x1dGVMb2dpY2FsVG9w
OwotICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lQm90dG9tID0gbGluZVRvcCArIGxpbmVIZWln
aHQobGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0ZpcnN0TGluZSgpLCBpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRl
cmlvckxpbmVCb3hlcyk7Ci0gICAgICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmNv
bXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwgbGluZUJvdHRvbSk7CisgICAgICAgICAgICBl
eGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwg
bGluZUhlaWdodChsYXlvdXRTdGF0ZS5saW5lSW5mbygpLmlzRmlyc3RMaW5lKCksIGlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRp
b25PZkludGVyaW9yTGluZUJveGVzKSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBXb3Jk
TWVhc3VyZW1lbnRzIHdvcmRNZWFzdXJlbWVudHM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>