# Copyright 2015 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
.class public La/a;
.super Landroid/app/Activity;

.method public constructor <init>()V
    .locals 0
    invoke-direct {p0}, Landroid/app/Activity;-><init>()V
    return-void
.end method

.method public static testDuplicatePackedSwitchSub(I)V
    .locals 3

    const v2, 0x831ec508
    const v1, 0x4e966a4a

    div-int/lit8 v0, p0, 2
    and-int/lit8 p0, p0, 1

    if-lez p0, :branch2
:branch1
    move p0, v0
    const v0, 999.999f

    packed-switch p0, :Switch
:fend
    invoke-static {v0}, LL/util;->print(F)V
    return-void

:fadd
    add-float v0, v1, v2
    goto :fend
:fsub
    sub-float v0, v1, v2
    goto :fend
:fmul
    mul-float v0, v1, v2
    goto :fend
:fdiv
    div-float v0, v1, v2
    goto :fend
:frem
    rem-float v0, v1, v2
    goto :fend

:Switch
    .packed-switch 0
        :fadd
        :fend
        :fsub
        :fmul
        :fdiv
        :frem
        :fsub
        :fend
    .end packed-switch

:branch2
    packed-switch v0, :Switch
:iend
    invoke-static {v0}, LL/util;->print(I)V
    return-void

:iadd
    add-int v0, v1, v2
    goto :iend
:isub
    sub-int v0, v1, v2
    goto :iend
:imul
    mul-int v0, v1, v2
    goto :iend
:idiv
    div-int v0, v1, v2
    goto :iend
:irem
    rem-int v0, v1, v2
    goto :iend
.end method

.method public static testDuplicateSparseSwitchSub(I)V
    .locals 3

    const v2, 0xe24f6.4p76f
    const v1, 0xf59be.2p75f

    div-int/lit8 v0, p0, 2
    and-int/lit8 p0, p0, 1

    if-gtz p0, :branch2
:branch1
    move p0, v0
    const v0, 0x123456p-149f

    sparse-switch p0, :Switch
:fend
    invoke-static {v0}, LL/util;->print(F)V
    return-void

:fadd
    add-float v0, v1, v2
    goto :fend
:fsub
    sub-float v0, v1, v2
    goto :fend
:fmul
    mul-float v0, v1, v2
    goto :fend
:fdiv
    div-float v0, v1, v2
    goto :fend
:frem
    rem-float v0, v1, v2
    goto :fend

:Switch
    .sparse-switch
        0 -> :fadd
        1 -> :fsub
        2 -> :fmul
        3 -> :fend
        5 -> :fdiv
        6 -> :frem
        7 -> :fadd
    .end sparse-switch

:branch2
    sparse-switch v0, :Switch
:iend
    invoke-static {v0}, LL/util;->print(I)V
    return-void

:iadd
    add-int v0, v1, v2
    goto :iend
:isub
    sub-int v0, v1, v2
    goto :iend
:imul
    mul-int v0, v1, v2
    goto :iend
:idiv
    div-int v0, v1, v2
    goto :iend
:irem
    rem-int v0, v1, v2
    goto :iend
.end method

.method public static testPackedSwitchOverflow(I)V
    .locals 6

    div-int/lit8 v0, p0, 2
    and-int/lit8 p0, p0, 1

    const v3, 0x7FFFFFFC
    add-int/2addr v0, v3

    const-wide v2, 0x8b29c5495c68ba0bL
    const-wide v4, 0xb5c85407ae060c01L

    if-lez p0, :branch2
:branch1
    move p0, v0
    const-wide v0, -999.999
:endif

    invoke-static {p0}, LL/util;->print(I)V
    packed-switch p0, :Switch
:lend
    invoke-static {v0, v1}, LL/util;->print(J)V
    return-void

:branch2
    move p0, v0
    const-wide v0, -999999L
    goto :endif

:ladd
    add-long v0, v2, v4
    goto :lend
:lsub
    sub-long v0, v2, v4
    goto :lend
:lmul
    mul-long v0, v2, v4
    goto :lend
:ldiv
    div-long v0, v2, v4
    goto :lend
:lrem
    rem-long v0, v2, v4
    goto :lend

:Switch
    .packed-switch 0x7FFFFFFC
        :ladd
        :lend
        :lsub
        :lmul
        :ldiv
        :lrem
        :lsub
        :lend
    .end packed-switch
.end method


.method public static testSwitch()V
    .locals 32767
    const-string v0, "testSwitch"
    invoke-static {v0}, LL/util;->print(Ljava/lang/String;)V

    move-object/16 v20001, v0
    move-object/16 v20000, v20001

    const v0, -2
    const v1, 0.0f
:loopStart
    const/16 v1, 18
    if-lt v1, v0, :loopEnd
    invoke-static {v0}, La/a;->testDuplicatePackedSwitchSub(I)V
    invoke-static {v0}, La/a;->testDuplicateSparseSwitchSub(I)V
    invoke-static {v0}, La/a;->testPackedSwitchOverflow(I)V
    add-int/lit8 v0, v0, 1
    goto/32 :loopStart

:emptyPacked
    .packed-switch 0x7FFFFFFF
    .end packed-switch
    nop
:emptySparse
    .sparse-switch
        1313 -> :emptySparseFT
    .end sparse-switch

:loopEnd
    packed-switch v0, :emptyPacked
    sparse-switch v0, :emptySparse
:emptySparseFT
    packed-switch v1, :emptyPacked
    return-void

:unusedSwitch
    .sparse-switch
        -0x80000000 -> :unusedSwitch
        10 -> :loopStart
        13 -> :loopEnd
        15 -> :emptyPacked
        20 -> :emptySparse
        0x7FFFFF -> :unusedData
    .end sparse-switch
:unusedData
    .array-data 2
        0 1 2 3 4 5 6 -1 -2 -3 -128
    .end array-data
.end method




.method public static testLongFillArraySub([C[S)V
    .locals 1
    const v0, 0
:if0
    if-eqz v0, :if1
:if4
    if-eqz v0, :if5
:goto0
    goto :goto1
:goto4
    goto :goto5

:fill1
    fill-array-data p0, :arrayData
    goto :fill2

:if1
    if-eqz v0, :if2
:if3
    if-eqz v0, :if4
:goto1
    goto :goto2
:goto3
    goto :goto4

:fill2
    fill-array-data p1, :arrayData
    return-void

:if2
    if-eqz v0, :if3
:if5
    if-eqz v0, :goto0
:goto2
    goto :goto3
:goto5
    goto :fill1


:arrayData
    .array-data 2
        1s 2s 5s 10s 17s 26s 37s 50s 65s 82s 101s 122s 145s 170s 197s 226s 257s 290s 325s 362s 401s 442s 485s 530s 577s 626s 677s 730s 785s 842s 901s 962s 1025s 1090s 1157s 1226s 1297s 1370s 1445s 1522s 1601s 1682s 1765s 1850s 1937s 2026s 2117s 2210s 2305s 2402s 2501s 2602s 2705s 2810s 2917s 3026s 3137s 3250s 3365s 3482s 3601s 3722s 3845s 3970s 4097s 4226s 4357s 4490s 4625s 4762s 4901s 5042s 5185s 5330s 5477s 5626s 5777s 5930s 6085s 6242s 6401s 6562s 6725s 6890s 7057s 7226s 7397s 7570s 7745s 7922s 8101s 8282s 8465s 8650s 8837s 9026s 9217s 9410s 9605s 9802s 10001s 10202s 10405s 10610s 10817s 11026s 11237s 11450s 11665s 11882s 12101s 12322s 12545s 12770s 12997s 13226s 13457s 13690s 13925s 14162s 14401s 14642s 14885s 15130s 15377s 15626s 15877s 16130s 16385s 16642s 16901s 17162s 17425s 17690s 17957s 18226s 18497s 18770s 19045s 19322s 19601s 19882s 20165s 20450s 20737s 21026s 21317s 21610s 21905s 22202s 22501s 22802s 23105s 23410s 23717s 24026s 24337s 24650s 24965s 25282s 25601s 25922s 26245s 26570s 26897s 27226s 27557s 27890s 28225s 28562s 28901s 29242s 29585s 29930s 30277s 30626s 30977s 31330s 31685s 32042s 32401s 32762s 33125s 33490s 33857s 34226s 34597s 34970s 35345s 35722s 36101s 36482s 36865s 37250s 37637s 38026s 38417s 38810s 39205s 39602s 40001s 40402s 40805s 41210s 41617s 42026s 42437s 42850s 43265s 43682s 44101s 44522s 44945s 45370s 45797s 46226s 46657s 47090s 47525s 47962s 48401s 48842s 49285s 49730s 50177s 50626s 51077s 51530s 51985s 52442s 52901s 53362s 53825s 54290s 54757s 55226s 55697s 56170s 56645s 57122s 57601s 58082s 58565s 59050s 59537s 60026s 60517s 61010s 61505s 62002s 62501s 63002s 63505s 64010s 64517s 65026s 1s 514s 1029s 1546s 2065s 2586s 3109s 3634s 4161s 4690s 5221s 5754s 6289s 6826s 7365s 7906s 8449s 8994s 9541s 10090s 10641s 11194s 11749s 12306s 12865s 13426s 13989s 14554s 15121s 15690s 16261s 16834s 17409s 17986s 18565s 19146s 19729s 20314s 20901s 21490s 22081s 22674s 23269s 23866s 24465s 25066s 25669s 26274s 26881s 27490s 28101s 28714s 29329s 29946s 30565s 31186s 31809s 32434s 33061s 33690s 34321s 34954s 35589s 36226s 36865s 37506s 38149s 38794s 39441s 40090s 40741s 41394s 42049s 42706s 43365s 44026s 44689s 45354s 46021s 46690s 47361s 48034s 48709s 49386s 50065s 50746s 51429s 52114s 52801s 53490s 54181s 54874s 55569s 56266s 56965s 57666s 58369s 59074s 59781s 60490s 61201s 61914s 62629s 63346s 64065s 64786s 65509s 698s 1425s 2154s 2885s 3618s 4353s 5090s 5829s 6570s 7313s 8058s 8805s 9554s 10305s 11058s 11813s 12570s 13329s 14090s 14853s 15618s 16385s 17154s 17925s 18698s 19473s 20250s 21029s 21810s 22593s 23378s 24165s 24954s 25745s 26538s 27333s 28130s 28929s 29730s 30533s 31338s 32145s 32954s 33765s 34578s 35393s 36210s 37029s 37850s 38673s 39498s 40325s 41154s 41985s 42818s 43653s 44490s 45329s 46170s 47013s 47858s 48705s 49554s 50405s 51258s 52113s 52970s 53829s 54690s 55553s 56418s 57285s 58154s 59025s 59898s 60773s 61650s 62529s 63410s 64293s 65178s 529s 1418s 2309s 3202s 4097s 4994s 5893s 6794s 7697s 8602s 9509s 10418s 11329s 12242s 13157s 14074s 14993s 15914s 16837s 17762s 18689s 19618s 20549s 21482s 22417s 23354s 24293s 25234s 26177s 27122s 28069s 29018s 29969s 30922s 31877s 32834s 33793s 34754s 35717s 36682s 37649s 38618s 39589s 40562s 41537s 42514s 43493s 44474s 45457s 46442s 47429s 48418s 49409s 50402s 51397s 52394s 53393s 54394s 55397s 56402s 57409s 58418s 59429s 60442s 61457s 62474s 63493s 64514s 1s 1026s 2053s 3082s 4113s 5146s 6181s 7218s 8257s 9298s 10341s 11386s 12433s 13482s 14533s 15586s 16641s 17698s 18757s 19818s 20881s 21946s 23013s 24082s 25153s 26226s 27301s 28378s 29457s 30538s 31621s 32706s 33793s 34882s 35973s 37066s 38161s 39258s 40357s 41458s 42561s 43666s 44773s 45882s 46993s 48106s 49221s 50338s 51457s 52578s 53701s 54826s 55953s 57082s 58213s 59346s 60481s 61618s 62757s 63898s 65041s 650s 1797s 2946s 4097s 5250s 6405s 7562s 8721s 9882s 11045s 12210s 13377s 14546s 15717s 16890s 18065s 19242s 20421s 21602s 22785s 23970s 25157s 26346s 27537s 28730s 29925s 31122s 32321s 33522s 34725s 35930s 37137s 38346s 39557s 40770s 41985s 43202s 44421s 45642s 46865s 48090s 49317s 50546s 51777s 53010s 54245s 55482s 56721s 57962s 59205s 60450s 61697s 62946s 64197s 65450s 1169s 2426s 3685s 4946s 6209s 7474s 8741s 10010s 11281s 12554s 13829s 15106s 16385s 17666s 18949s 20234s 21521s 22810s 24101s 25394s 26689s 27986s 29285s 30586s 31889s 33194s 34501s 35810s 37121s 38434s 39749s 41066s 42385s 43706s 45029s 46354s 47681s 49010s 50341s 51674s 53009s 54346s 55685s 57026s 58369s 59714s 61061s 62410s 63761s 65114s 933s 2290s 3649s 5010s 6373s 7738s 9105s 10474s 11845s 13218s 14593s 15970s 17349s 18730s 20113s 21498s 22885s 24274s 25665s 27058s 28453s 29850s 31249s 32650s 34053s 35458s 36865s 38274s 39685s 41098s 42513s 43930s 45349s 46770s 48193s 49618s 51045s 52474s 53905s 55338s 56773s 58210s 59649s 61090s 62533s 63978s 65425s 1338s 2789s 4242s 5697s 7154s 8613s 10074s 11537s 13002s 14469s 15938s 17409s 18882s 20357s 21834s 23313s 24794s 26277s 27762s 29249s 30738s 32229s 33722s 35217s 36714s 38213s 39714s 41217s 42722s 44229s 45738s 47249s 48762s 50277s 51794s 53313s 54834s 56357s 57882s 59409s 60938s 62469s 64002s 1s 1538s 3077s 4618s 6161s 7706s 9253s 10802s 12353s 13906s 15461s 17018s 18577s 20138s 21701s 23266s 24833s 26402s 27973s 29546s 31121s 32698s 34277s 35858s 37441s 39026s 40613s 42202s 43793s 45386s 46981s 48578s 50177s 51778s 53381s 54986s 56593s 58202s 59813s 61426s 63041s 64658s 741s 2362s 3985s 5610s 7237s 8866s 10497s 12130s 13765s 15402s 17041s 18682s 20325s 21970s 23617s 25266s 26917s 28570s 30225s 31882s 33541s 35202s 36865s 38530s 40197s 41866s 43537s 45210s 46885s 48562s 50241s 51922s 53605s 55290s 56977s 58666s 60357s 62050s 63745s 65442s 1605s 3306s 5009s 6714s 8421s 10130s 11841s 13554s 15269s 16986s 18705s 20426s 22149s 23874s 25601s 27330s 29061s 30794s 32529s 34266s 36005s 37746s 39489s 41234s 42981s 44730s 46481s 48234s 49989s 51746s 53505s 55266s 57029s 58794s 60561s 62330s 64101s 338s 2113s 3890s 5669s 7450s 9233s 11018s 12805s 14594s 16385s 18178s 19973s 21770s 23569s 25370s 27173s 28978s 30785s 32594s 34405s 36218s 38033s 39850s 41669s 43490s 45313s 47138s 48965s 50794s 52625s 54458s 56293s 58130s 59969s 61810s 63653s 65498s 1809s 3658s 5509s 7362s 9217s 11074s 12933s 14794s 16657s 18522s 20389s 22258s 24129s 26002s 27877s 29754s 31633s 33514s 35397s 37282s 39169s 41058s 42949s 44842s 46737s 48634s 50533s 52434s 54337s 56242s 58149s 60058s 61969s 63882s 261s 2178s 4097s 6018s 7941s 9866s 11793s 13722s 15653s 17586s 19521s 21458s 23397s 25338s 27281s 29226s 31173s 33122s 35073s 37026s 38981s 40938s 42897s 44858s 46821s 48786s 50753s 52722s 54693s 56666s 58641s 60618s 62597s 64578s 1025s 3010s 4997s 6986s 8977s 10970s 12965s 14962s 16961s 18962s 20965s 22970s 24977s 26986s 28997s 31010s 33025s 35042s 37061s 39082s 41105s 43130s 45157s 47186s 49217s 51250s 53285s 55322s 57361s 59402s 61445s 63490s 1s 2050s 4101s 6154s 8209s 10266s 12325s 14386s 16449s 18514s 20581s 22650s 24721s 26794s 28869s 30946s 33025s 35106s 37189s 39274s 41361s 43450s 45541s 47634s 49729s 51826s 53925s 56026s 58129s 60234s 62341s 64450s 1025s 3138s 5253s 7370s 9489s 11610s 13733s 15858s 17985s 20114s 22245s 24378s 26513s 28650s 30789s 32930s 35073s 37218s 39365s 41514s 43665s 45818s 47973s 50130s 52289s 54450s 56613s 58778s 60945s 63114s 65285s 1922s 4097s 6274s 8453s 10634s 12817s 15002s 17189s 19378s 21569s 23762s 25957s 28154s 30353s 32554s 34757s 36962s 39169s 41378s 43589s 45802s 48017s 50234s 52453s 54674s 56897s 59122s 61349s 63578s 273s 2506s 4741s 6978s 9217s 11458s 13701s 15946s 18193s 20442s 22693s 24946s 27201s 29458s 31717s 33978s 36241s 38506s 40773s 43042s 45313s 47586s 49861s 52138s 54417s 56698s 58981s 61266s 63553s 306s 2597s 4890s 7185s 9482s 11781s 14082s 16385s 18690s 20997s 23306s 25617s 27930s 30245s 32562s 34881s 37202s 39525s 41850s 44177s 46506s 48837s 51170s 53505s 55842s 58181s 60522s 62865s 65210s 2021s 4370s 6721s 9074s 11429s 13786s 16145s 18506s 20869s 23234s 25601s 27970s 30341s 32714s 35089s 37466s 39845s 42226s 44609s 46994s 49381s 51770s 54161s 56554s 58949s 61346s 63745s 610s 3013s 5418s 7825s 10234s 12645s 15058s 17473s 19890s 22309s 24730s 27153s 29578s 32005s 34434s 36865s 39298s 41733s 44170s 46609s 49050s 51493s 53938s 56385s 58834s 61285s 63738s 657s 3114s 5573s 8034s 10497s 12962s 15429s 17898s 20369s 22842s 25317s 27794s 30273s 32754s 35237s 37722s 40209s 42698s 45189s 47682s 50177s 52674s 55173s 57674s 60177s 62682s 65189s 2162s 4673s 7186s 9701s 12218s 14737s 17258s 19781s 22306s 24833s 27362s 29893s 32426s 34961s 37498s 40037s 42578s 45121s 47666s 50213s 52762s 55313s 57866s 60421s 62978s 1s 2562s 5125s 7690s 10257s 12826s 15397s 17970s 20545s 23122s 25701s 28282s 30865s 33450s 36037s 38626s 41217s 43810s 46405s 49002s 51601s 54202s 56805s 59410s 62017s 64626s 1701s 4314s 6929s 9546s 12165s 14786s 17409s 20034s 22661s 25290s 27921s 30554s 33189s 35826s 38465s 41106s 43749s 46394s 49041s 51690s 54341s 56994s 59649s 62306s 64965s 2090s 4753s 7418s 10085s 12754s 15425s 18098s 20773s 23450s 26129s 28810s 31493s 34178s 36865s 39554s 42245s 44938s 47633s 50330s 53029s 55730s 58433s 61138s 63845s 1018s 3729s 6442s 9157s 11874s 14593s 17314s 20037s 22762s 25489s 28218s 30949s 33682s 36417s 39154s 41893s 44634s 47377s 50122s 52869s 55618s 58369s 61122s 63877s 1098s 3857s 6618s 9381s 12146s 14913s 17682s 20453s 23226s 26001s 28778s 31557s 34338s 37121s 39906s 42693s 45482s 48273s 51066s 53861s 56658s 59457s 62258s 65061s 2330s 5137s 7946s 10757s 13570s 16385s 19202s 22021s 24842s 27665s 30490s 33317s 36146s 38977s 41810s 44645s 47482s 50321s 53162s 56005s 58850s 61697s 64546s 1861s 4714s 7569s 10426s 13285s 16146s 19009s 21874s 24741s 27610s 30481s 33354s 36229s 39106s 41985s 44866s 47749s 50634s 53521s 56410s 59301s 62194s 65089s 2450s 5349s 8250s 11153s 14058s 16965s 19874s 22785s 25698s 28613s 31530s 34449s 37370s 40293s 43218s 46145s 49074s 52005s 54938s 57873s 60810s 63749s 1154s 4097s 7042s 9989s 12938s 15889s 18842s 21797s 24754s 27713s 30674s 33637s 36602s 39569s 42538s 45509s 48482s 51457s 54434s 57413s 60394s 63377s 826s 3813s 6802s 9793s 12786s 15781s 18778s 21777s 24778s 27781s 30786s 33793s 36802s 39813s 42826s 45841s 48858s 51877s 54898s 57921s 60946s 63973s 1466s 4497s 7530s 10565s 13602s 16641s 19682s 22725s 25770s 28817s 31866s 34917s 37970s 41025s 44082s 47141s 50202s 53265s 56330s 59397s 62466s 1s 3074s 6149s 9226s 12305s 15386s 18469s 21554s 24641s 27730s 30821s 33914s 37009s 40106s 43205s 46306s 49409s 52514s 55621s 58730s 61841s 64954s 2533s 5650s 8769s 11890s 15013s 18138s 21265s 24394s 27525s 30658s 33793s 36930s 40069s 43210s 46353s 49498s 52645s 55794s 58945s 62098s 65253s 2874s 6033s 9194s 12357s 15522s 18689s 21858s 25029s 28202s 31377s 34554s 37733s 40914s 44097s 47282s 50469s 53658s 56849s 60042s 63237s 898s 4097s 7298s 10501s 13706s 16913s 20122s 23333s 26546s 29761s 32978s 36197s 39418s 42641s 45866s 49093s 52322s 55553s 58786s 62021s 65258s 2961s 6202s 9445s 12690s 15937s 19186s 22437s 25690s 28945s 32202s 35461s 38722s 41985s 45250s 48517s 51786s 55057s 58330s 61605s 64882s 2625s 5906s 9189s 12474s 15761s 19050s 22341s 25634s 28929s 32226s 35525s 38826s 42129s 45434s 48741s 52050s 55361s 58674s 61989s 65306s 3089s 6410s 9733s 13058s 16385s 19714s 23045s 26378s 29713s 33050s 36389s 39730s 43073s 46418s 49765s 53114s 56465s 59818s 63173s 994s 4353s 7714s 11077s 14442s 17809s 21178s 24549s 27922s 31297s 34674s 38053s 41434s 44817s 48202s 51589s 54978s 58369s 61762s 65157s 3018s 6417s 9818s 13221s 16626s 20033s 23442s 26853s 30266s 33681s 37098s 40517s 43938s 47361s 50786s 54213s 57642s 61073s 64506s 2405s 5842s 9281s 12722s 16165s 19610s 23057s 26506s 29957s 33410s 36865s 40322s 43781s 47242s 50705s 54170s 57637s 61106s 64577s 2514s 5989s 9466s 12945s 16426s 19909s 23394s 26881s 30370s 33861s 37354s 40849s 44346s 47845s 51346s 54849s 58354s 61861s 65370s 3345s 6858s 10373s 13890s 17409s 20930s 24453s 27978s 31505s 35034s 38565s 42098s 45633s 49170s 52709s 56250s 59793s 63338s 1349s 4898s 8449s 12002s 15557s 19114s 22673s 26234s 29797s 33362s 36929s 40498s 44069s 47642s 51217s 54794s 58373s 61954s 1s 3586s 7173s 10762s 14353s 17946s 21541s 25138s 28737s 32338s 35941s 39546s 43153s 46762s 50373s 53986s 57601s 61218s 64837s 2922s 6545s 10170s 13797s 17426s 21057s 24690s 28325s 31962s 35601s 39242s 42885s 46530s 50177s 53826s 57477s 61130s 64785s 2906s 6565s 10226s 13889s 17554s 21221s 24890s 28561s 32234s 35909s 39586s 43265s 46946s 50629s 54314s 58001s 61690s 65381s 3538s 7233s 10930s 14629s 18330s 22033s 25738s 29445s 33154s 36865s 40578s 44293s 48010s 51729s 55450s 59173s 62898s 1089s 4818s 8549s 12282s 16017s 19754s 23493s 27234s 30977s 34722s 38469s 42218s 45969s 49722s 53477s 57234s 60993s 64754s 2981s 6746s 10513s 14282s 18053s 21826s 25601s 29378s 33157s 36938s 40721s 44506s 48293s 52082s 55873s 59666s 63461s 1722s 5521s 9322s 13125s 16930s 20737s 24546s 28357s 32170s 35985s 39802s 43621s 47442s 51265s 55090s 58917s 62746s 1041s 4874s 8709s 12546s 16385s 20226s 24069s 27914s 31761s 35610s 39461s 43314s 47169s 51026s 54885s 58746s 62609s 938s 4805s 8674s 12545s 16418s 20293s 24170s 28049s 31930s 35813s 39698s 43585s 47474s 51365s 55258s 59153s 63050s 1413s 5314s 9217s 13122s 17029s 20938s 24849s 28762s 32677s 36594s 40513s 44434s 48357s 52282s 56209s 60138s 64069s 2466s 6401s 10338s 14277s 18218s 22161s 26106s 30053s 34002s 37953s 41906s 45861s 49818s 53777s 57738s 61701s 130s 4097s 8066s 12037s 16010s 19985s 23962s 27941s 31922s 35905s 39890s 43877s 47866s 51857s 55850s 59845s 63842s 2305s 6306s 10309s 14314s 18321s 22330s 26341s 30354s 34369s 38386s 42405s 46426s 50449s 54474s 58501s 62530s 1025s 5058s 9093s 13130s 17169s 21210s 25253s 29298s 33345s 37394s 41445s 45498s 49553s 53610s 57669s 61730s 257s 4322s 8389s 12458s 16529s 20602s 24677s 28754s 32833s 36914s 40997s 45082s 49169s 53258s 57349s 61442s 1s 4098s 8197s 12298s 16401s 20506s 24613s 28722s 32833s 36946s 41061s 45178s 49297s 53418s 57541s 61666s 257s 4386s 8517s 12650s 16785s 20922s 25061s 29202s 33345s 37490s 41637s 45786s 49937s 54090s 58245s 62402s 1025s 5186s 9349s 13514s 17681s 21850s 26021s 30194s 34369s 38546s 42725s 46906s 51089s 55274s 59461s 63650s 2305s 6498s 10693s 14890s 19089s 23290s 27493s 31698s 35905s 40114s 44325s 48538s 52753s 56970s 61189s 65410s 4097s 8322s 12549s 16778s 21009s 25242s 29477s 33714s 37953s 42194s 46437s 50682s 54929s 59178s 63429s 2146s 6401s 10658s 14917s 19178s 23441s 27706s 31973s 36242s 40513s 44786s 49061s 53338s 57617s 61898s 645s 4930s 9217s 13506s 17797s 22090s 26385s 30682s 34981s 39282s 43585s 47890s 52197s 56506s 60817s 65130s 3909s 8226s 12545s 16866s 21189s 25514s 29841s 34170s 38501s 42834s 47169s 51506s 55845s 60186s 64529s 3338s 7685s 12034s 16385s 20738s 25093s 29450s 33809s 38170s 42533s 46898s 51265s 55634s 60005s 64378s 3217s 7594s 11973s 16354s 20737s 25122s 29509s 33898s 38289s 42682s 47077s 51474s 55873s 60274s 64677s 3546s 7953s 12362s 16773s 21186s 25601s 30018s 34437s 38858s 43281s 47706s 52133s 56562s 60993s 65426s 4325s 8762s 13201s 17642s 22085s 26530s 30977s 35426s 39877s 44330s 48785s 53242s 57701s 62162s 1089s 5554s 10021s 14490s 18961s 23434s 27909s 32386s 36865s 41346s 45829s 50314s 54801s 59290s 63781s 2738s 7233s 11730s 16229s 20730s 25233s 29738s 34245s 38754s 43265s 47778s 52293s 56810s 61329s 314s 4837s 9362s 13889s 18418s 22949s 27482s 32017s 36554s 41093s 45634s 50177s 54722s 59269s 63818s 2833s 7386s 11941s 16498s 21057s 25618s 30181s 34746s 39313s 43882s 48453s 53026s 57601s 62178s 1221s 5802s 10385s 14970s 19557s 24146s 28737s 33330s 37925s 42522s 47121s 51722s 56325s 60930s 1s 4610s 9221s 13834s 18449s 23066s 27685s 32306s 36929s 41554s 46181s 50810s 55441s 60074s 64709s 3810s 8449s 13090s 17733s 22378s 27025s 31674s 36325s 40978s 45633s 50290s 54949s 59610s 64273s 3402s 8069s 12738s 17409s 22082s 26757s 31434s 36113s 40794s 45477s 50162s 54849s 59538s 64229s 3386s 8081s 12778s 17477s 22178s 26881s 31586s 36293s 41002s 45713s 50426s 55141s 59858s 64577s 3762s 8485s 13210s 17937s 22666s 27397s 32130s 36865s 41602s 46341s 51082s 55825s 60570s 65317s 4530s 9281s 14034s 18789s 23546s 28305s 33066s 37829s 42594s 47361s 52130s 56901s 61674s 913s 5690s 10469s 15250s 20033s 24818s 29605s 34394s 39185s 43978s 48773s 53570s 58369s 63170s 2437s 7242s 12049s 16858s 21669s 26482s 31297s 36114s 40933s 45754s 50577s 55402s 60229s 65058s 4353s 9186s 14021s 18858s 23697s 28538s 33381s 38226s 43073s 47922s 52773s 57626s 62481s 1802s 6661s 11522s 16385s 21250s 26117s 30986s 35857s 40730s 45605s 50482s 55361s 60242s 65125s 4474s 9361s 14250s 19141s 24034s 28929s 33826s 38725s 43626s 48529s 53434s 58341s 63250s 2625s 7538s 12453s 17370s 22289s 27210s 32133s 37058s 41985s 46914s 51845s 56778s 61713s 1114s 6053s 10994s 15937s 20882s 25829s 30778s 35729s 40682s 45637s 50594s 55553s 60514s 65477s 4906s 9873s 14842s 19813s 24786s 29761s 34738s 39717s 44698s 49681s 54666s 59653s 64642s 4097s 9090s 14085s 19082s 24081s 29082s 34085s 39090s 44097s 49106s 54117s 59130s 64145s 3626s 8645s 13666s 18689s 23714s 28741s 33770s 38801s 43834s 48869s 53906s 58945s 63986s 3493s 8538s 13585s 18634s 23685s 28738s 33793s 38850s 43909s 48970s 54033s 59098s 64165s 3698s 8769s 13842s 18917s 23994s 29073s 34154s 39237s 44322s 49409s 54498s 59589s 64682s 4241s 9338s 14437s 19538s 24641s 29746s 34853s 39962s 45073s 50186s 55301s 60418s 1s 5122s 10245s 15370s 20497s 25626s 30757s 35890s 41025s 46162s 51301s 56442s 61585s 1194s 6341s 11490s 16641s 21794s 26949s 32106s 37265s 42426s 47589s 52754s 57921s 63090s 2725s 7898s 13073s 18250s 23429s 28610s 33793s 38978s 44165s 49354s 54545s 59738s 64933s 4594s 9793s 14994s 20197s 25402s 30609s 35818s 41029s 46242s 51457s 56674s 61893s 1578s 6801s 12026s 17253s 22482s 27713s 32946s 38181s 43418s 48657s 53898s 59141s 64386s 4097s 9346s 14597s 19850s 25105s 30362s 35621s 40882s 46145s 51410s 56677s 61946s 1681s 6954s 12229s 17506s 22785s 28066s 33349s 38634s 43921s 49210s 54501s 59794s 65089s 4850s 10149s 15450s 20753s 26058s 31365s 36674s 41985s 47298s 52613s 57930s 63249s 3034s 8357s 13682s 19009s 24338s 29669s 35002s 40337s 45674s 51013s 56354s 61697s 1506s 6853s 12202s 17553s 22906s 28261s 33618s 38977s 44338s 49701s 55066s 60433s 266s 5637s 11010s 16385s 21762s 27141s 32522s 37905s 43290s 48677s 54066s 59457s 64850s 4709s 10106s 15505s 20906s 26309s 31714s 37121s 42530s 47941s 53354s 58769s 64186s 4069s 9490s 14913s 20338s 25765s 31194s 36625s 42058s 47493s 52930s 58369s 63810s 3717s 9162s 14609s 20058s 25509s 30962s 36417s 41874s 47333s 52794s 58257s 63722s 3653s 9122s 14593s 20066s 25541s 31018s 36497s 41978s 47461s 52946s 58433s 63922s 3877s 9370s 14865s 20362s 25861s 31362s 36865s 42370s 47877s 53386s 58897s 64410s 4389s 9906s 15425s 20946s 26469s 31994s 37521s 43050s 48581s 54114s 59649s 65186s 5189s 10730s 16273s 21818s 27365s 32914s 38465s 44018s 49573s 55130s 60689s 714s 6277s 11842s 17409s 22978s 28549s 34122s 39697s 45274s 50853s 56434s 62017s 2066s 7653s 13242s 18833s 24426s 30021s 35618s 41217s 46818s 52421s 58026s 63633s 3706s 9317s 14930s 20545s 26162s 31781s 37402s 43025s 48650s 54277s 59906s 1s 5634s 11269s 16906s 22545s 28186s 33829s 39474s 45121s 50770s 56421s 62074s 2193s 7850s 13509s 19170s 24833s 30498s 36165s 41834s 47505s 53178s 58853s 64530s 4673s 10354s 16037s 21722s 27409s 33098s 38789s 44482s 50177s 55874s 61573s 1738s 7441s 13146s 18853s 24562s 30273s 35986s 41701s 47418s 53137s 58858s 64581s 4770s 10497s 16226s 21957s 27690s 33425s 39162s 44901s 50642s 56385s 62130s 2341s 8090s 13841s 19594s 25349s 31106s 36865s 42626s 48389s 54154s 59921s 154s 5925s 11698s 17473s 23250s 29029s 34810s 40593s 46378s 52165s 57954s 63745s 4002s 9797s 15594s 21393s 27194s 32997s 38802s 44609s 50418s 56229s 62042s 2321s 8138s 13957s 19778s 25601s 31426s 37253s 43082s 48913s 54746s 60581s 882s 6721s 12562s 18405s 24250s 30097s 35946s 41797s 47650s 53505s 59362s 65221s 5546s 11409s 17274s 23141s 29010s 34881s 40754s 46629s 52506s 58385s 64266s 4613s 10498s 16385s 22274s 28165s 34058s 39953s 45850s 51749s 57650s 63553s 3922s 9829s 15738s 21649s 27562s 33477s 39394s 45313s 51234s 57157s 63082s 3473s 9402s 15333s 21266s 27201s 33138s 39077s 45018s 50961s 56906s 62853s 3266s 9217s 15170s 21125s 27082s 33041s 39002s 44965s 50930s 56897s 62866s 3301s 9274s 15249s 21226s 27205s 33186s 39169s 45154s 51141s 57130s 63121s 3578s 9573s 15570s 21569s 27570s 33573s 39578s 45585s 51594s 57605s 63618s 4097s 10114s 16133s 22154s 28177s 34202s 40229s 46258s 52289s 58322s 64357s 4858s 10897s 16938s 22981s 29026s 35073s 41122s 47173s 53226s 59281s 65338s 5861s 11922s 17985s 24050s 30117s 36186s 42257s 48330s 54405s 60482s 1025s 7106s 13189s 19274s 25361s 31450s 37541s 43634s 49729s 55826s 61925s 2490s 8593s 14698s 20805s 26914s 33025s 39138s 45253s 51370s 57489s 63610s 4197s 10322s 16449s 22578s 28709s 34842s 40977s 47114s 53253s 59394s 1s 6146s 12293s 18442s 24593s 30746s 36901s 43058s 49217s 55378s 61541s 2170s 8337s 14506s 20677s 26850s 33025s 39202s 45381s 51562s 57745s 63930s 4581s 10770s 16961s 23154s 29349s 35546s 41745s 47946s 54149s 60354s 1025s 7234s 13445s 19658s 25873s 32090s 38309s 44530s 50753s 56978s 63205s 3898s 10129s 16362s 22597s 28834s 35073s 41314s 47557s 53802s 60049s 762s 7013s 13266s 19521s 25778s 32037s 38298s 44561s 50826s 57093s 63362s 4097s 10370s 16645s 22922s 29201s 35482s 41765s 48050s 54337s 60626s 1381s 7674s 13969s 20266s 26565s 32866s 39169s 45474s 51781s 58090s 64401s 5178s 11493s 17810s 24129s 30450s 36773s 43098s 49425s 55754s 62085s 2882s 9217s 15554s 21893s 28234s 34577s 40922s 47269s 53618s 59969s 786s 7141s 13498s 19857s 26218s 32581s 38946s 45313s 51682s 58053s 64426s 5265s 11642s 18021s 24402s 30785s 37170s 43557s 49946s 56337s 62730s 3589s 9986s 16385s 22786s 29189s 35594s 42001s 48410s 54821s 61234s 2113s 8530s 14949s 21370s 27793s 34218s 40645s 47074s 53505s 59938s 837s 7274s 13713s 20154s 26597s 33042s 39489s 45938s 52389s 58842s 65297s 6218s 12677s 19138s 25601s 32066s 38533s 45002s 51473s 57946s 64421s 5362s 11841s 18322s 24805s 31290s 37777s 44266s 50757s 57250s 63745s 4706s 11205s 17706s 24209s 30714s 37221s 43730s 50241s 56754s 63269s 4250s 10769s 17290s 23813s 30338s 36865s 43394s 49925s 56458s 62993s 3994s 10533s 17074s 23617s 30162s 36709s 43258s 49809s 56362s 62917s 3938s 10497s 17058s 23621s 30186s 36753s 43322s 49893s 56466s 63041s 4082s 10661s 17242s 23825s 30410s 36997s 43586s 50177s 56770s 63365s 4426s 11025s 17626s 24229s 30834s 37441s 44050s 50661s 57274s 63889s 4970s 11589s 18210s 24833s 31458s 38085s 44714s 51345s 57978s 64613s 5714s 12353s 18994s 25637s 32282s 38929s 45578s 52229s 58882s 1s 6658s 13317s 19978s 26641s 33306s 39973s 46642s 53313s 59986s 1125s 7802s 14481s 21162s 27845s 34530s 41217s 47906s 54597s 61290s 2449s 9146s 15845s 22546s 29249s 35954s 42661s 49370s 56081s 62794s 3973s 10690s 17409s 24130s 30853s 37578s 44305s 51034s 57765s 64498s 5697s 12434s 19173s 25914s 32657s 39402s 46149s 52898s 59649s 866s 7621s 14378s 21137s 27898s 34661s 41426s 48193s 54962s 61733s 2970s 9745s 16522s 23301s 30082s 36865s 43650s 50437s 57226s 64017s 5274s 12069s 18866s 25665s 32466s 39269s 46074s 52881s 59690s 965s 7778s 14593s 21410s 28229s 35050s 41873s 48698s 55525s 62354s 3649s 10482s 17317s 24154s 30993s 37834s 44677s 51522s 58369s 65218s 6533s 13386s 20241s 27098s 33957s 40818s 47681s 54546s 61413s 2746s 9617s 16490s 23365s 30242s 37121s 44002s 50885s 57770s 64657s 6010s 12901s 19794s 26689s 33586s 40485s 47386s 54289s 61194s 2565s 9474s 16385s 23298s 30213s 37130s 44049s 50970s 57893s 64818s 6209s 13138s 20069s 27002s 33937s 40874s 47813s 54754s 61697s 3106s 10053s 17002s 23953s 30906s 37861s 44818s 51777s 58738s 165s 7130s 14097s 21066s 28037s 35010s 41985s 48962s 55941s 62922s 4369s 11354s 18341s 25330s 32321s 39314s 46309s 53306s 60305s 1770s 8773s 15778s 22785s 29794s 36805s 43818s 50833s 57850s 64869s 6354s 13377s 20402s 27429s 34458s 41489s 48522s 55557s 62594s 4097s 11138s 18181s 25226s 32273s 39322s 46373s 53426s 60481s 2002s 9061s 16122s 23185s 30250s 37317s 44386s 51457s 58530s 69s 7146s 14225s 21306s 28389s 35474s 42561s 49650s 56741s 63834s 5393s 12490s 19589s 26690s 33793s 40898s 48005s 55114s 62225s 3802s 10917s 18034s 25153s 32274s 39397s 46522s 53649s 60778s 2373s 9506s 16641s 23778s 30917s 38058s 45201s 52346s 59493s 1106s 8257s 15410s 22565s 29722s 36881s 44042s 51205s 58370s 1s 7170s 14341s 21514s 28689s 35866s 43045s 50226s 57409s 64594s 6245s 13434s 20625s 27818s 35013s 42210s 49409s 56610s 63813s 5482s 12689s 19898s 27109s 34322s 41537s 48754s 55973s 63194s 4881s 12106s 19333s 26562s 33793s 41026s 48261s 55498s 62737s 4442s 11685s 18930s 26177s 33426s 40677s 47930s 55185s 62442s 4165s 11426s 18689s 25954s 33221s 40490s 47761s 55034s 62309s 4050s 11329s 18610s 25893s 33178s 40465s 47754s 55045s 62338s 4097s 11394s 18693s 25994s 33297s 40602s 47909s 55218s 62529s 4306s 11621s 18938s 26257s 33578s 40901s 48226s 55553s 62882s 4677s 12010s 19345s 26682s 34021s 41362s 48705s 56050s 63397s 5210s 12561s 19914s 27269s 34626s 41985s 49346s 56709s 64074s 5905s 13274s 20645s 28018s 35393s 42770s 50149s 57530s 64913s 6762s 14149s 21538s 28929s 36322s 43717s 51114s 58513s 378s 7781s 15186s 22593s 30002s 37413s 44826s 52241s 59658s 1541s 8962s 16385s 23810s 31237s 38666s 46097s 53530s 60965s 2866s 10305s 17746s 25189s 32634s 40081s 47530s 54981s 62434s 4353s 11810s 19269s 26730s 34193s 41658s 49125s 56594s 64065s 6002s 13477s 20954s 28433s 35914s 43397s 50882s 58369s 322s 7813s 15306s 22801s 30298s 37797s 45298s 52801s 60306s 2277s 9786s 17297s 24810s 32325s 39842s 47361s 54882s 62405s 4394s 11921s 19450s 26981s 34514s 42049s 49586s 57125s 64666s 6673s 14218s 21765s 29314s 36865s 44418s 51973s 59530s 1553s 9114s 16677s 24242s 31809s 39378s 46949s 54522s 62097s 4138s 11717s 19298s 26881s 34466s 42053s 49642s 57233s 64826s 6885s 14482s 22081s 29682s 37285s 44890s 52497s 60106s 2181s 9794s 17409s 25026s 32645s 40266s 47889s 55514s 63141s 5234s 12865s 20498s 28133s 35770s 43409s 51050s 58693s 802s 8449s 16098s 23749s 31402s 39057s 46714s 54373s 62034s 4161s 11826s 19493s 27162s 34833s 42506s 50181s 57858s 1s 7682s 15365s 23050s 30737s 38426s 46117s 53810s 61505s 3666s 11365s 19066s 26769s 34474s 42181s 49890s 57601s 65314s 7493s 15210s 22929s 30650s 38373s 46098s 53825s 61554s 3749s 11482s 19217s 26954s 34693s 42434s 50177s 57922s 133s 7882s 15633s 23386s 31141s 38898s 46657s 54418s 62181s 4410s 12177s 19946s 27717s 35490s 43265s 51042s 58821s 1066s 8849s 16634s 24421s 32210s 40001s 47794s 55589s 63386s 5649s 13450s 21253s 29058s 36865s 44674s 52485s 60298s 2577s 10394s 18213s 26034s 33857s 41682s 49509s 57338s 65169s 7466s 15301s 23138s 30977s 38818s 46661s 54506s 62353s 4666s 12517s 20370s 28225s 36082s 43941s 51802s 59665s 1994s 9861s 17730s 25601s 33474s 41349s 49226s 57105s 64986s 7333s 15218s 23105s 30994s 38885s 46778s 54673s 62570s 4933s 12834s 20737s 28642s 36549s 44458s 52369s 60282s 2661s 10578s 18497s 26418s 34341s 42266s 50193s 58122s 517s 8450s 16385s 24322s 32261s 40202s 48145s 56090s 64037s 6450s 14401s 22354s 30309s 38266s 46225s 54186s 62149s 4578s 12545s 20514s 28485s 36458s 44433s 52410s 60389s 2834s 10817s 18802s 26789s 34778s 42769s 50762s 58757s 1218s 9217s 17218s 25221s 33226s 41233s 49242s 57253s 65266s 7745s 15762s 23781s 31802s 39825s 47850s 55877s 63906s 6401s 14434s 22469s 30506s 38545s 46586s 54629s 62674s 5185s 13234s 21285s 29338s 37393s 45450s 53509s 61570s 4097s 12162s 20229s 28298s 36369s 44442s 52517s 60594s 3137s 11218s 19301s 27386s 35473s 43562s 51653s 59746s 2305s 10402s 18501s 26602s 34705s 42810s 50917s 59026s 1601s 9714s 17829s 25946s 34065s 42186s 50309s 58434s 1025s 9154s 17285s 25418s 33553s 41690s 49829s 57970s 577s 8722s 16869s 25018s 33169s 41322s 49477s 57634s 257s 8418s 16581s 24746s 32913s 41082s 49253s 57426s 65s 8242s 16421s 24602s 32785s 40970s 49157s 57346s 1s 8194s 16389s 24586s 32785s 40986s 49189s 57394s 65s 8274s 16485s 24698s 32913s 41130s 49349s 57570s 257s 8482s 16709s 24938s 33169s 41402s 49637s 57874s 577s 8818s 17061s 25306s 33553s 41802s 50053s 58306s 1025s 9282s 17541s 25802s 34065s 42330s 50597s 58866s 1601s 9874s 18149s 26426s 34705s 42986s 51269s 59554s 2305s 10594s 18885s 27178s 35473s 43770s 52069s 60370s 3137s 11442s 19749s 28058s 36369s 44682s 52997s 61314s 4097s 12418s 20741s 29066s 37393s 45722s 54053s 62386s 5185s 13522s 21861s 30202s 38545s 46890s 55237s 63586s 6401s 14754s 23109s 31466s 39825s 48186s 56549s 64914s 7745s 16114s 24485s 32858s 41233s 49610s 57989s 834s 9217s 17602s 25989s 34378s 42769s 51162s 59557s 2418s 10817s 19218s 27621s 36026s 44433s 52842s 61253s 4130s 12545s 20962s 29381s 37802s 46225s 54650s 63077s 5970s 14401s 22834s 31269s 39706s 48145s 56586s 65029s 7938s 16385s 24834s 33285s 41738s 50193s 58650s 1573s 10034s 18497s 26962s 35429s 43898s 52369s 60842s 3781s 12258s 20737s 29218s 37701s 46186s 54673s 63162s 6117s 14610s 23105s 31602s 40101s 48602s 57105s 74s 8581s 17090s 25601s 34114s 42629s 51146s 59665s 2650s 11173s 19698s 28225s 36754s 45285s 53818s 62353s 5354s 13893s 22434s 30977s 39522s 48069s 56618s 65169s 8186s 16741s 25298s 33857s 42418s 50981s 59546s 2577s 11146s 19717s 28290s 36865s 45442s 54021s 62602s 5649s 14234s 22821s 31410s 40001s 48594s 57189s 250s 8849s 17450s 26053s 34658s 43265s 51874s 60485s 3562s 12177s 20794s 29413s 38034s 46657s 55282s 63909s 7002s 15633s 24266s 32901s 41538s 50177s 58818s 1925s 10570s 19217s 27866s 36517s 45170s 53825s 62482s 5605s 14266s 22929s 31594s 40261s 48930s 57601s 738s 9413s 18090s 26769s 35450s 44133s 52818s 61505s 4658s 13349s 22042s 30737s 39434s 48133s 56834s 1s 8706s 17413s 26122s 34833s 43546s 52261s 60978s 4161s 12882s 21605s 30330s 39057s 47786s 56517s 65250s 8449s 17186s 25925s 34666s 43409s 52154s 60901s 4114s 12865s 21618s 30373s 39130s 47889s 56650s 65413s 8642s 17409s 26178s 34949s 43722s 52497s 61274s 4517s 13298s 22081s 30866s 39653s 48442s 57233s 490s 9285s 18082s 26881s 35682s 44485s 53290s 62097s 5370s 14181s 22994s 31809s 40626s 49445s 58266s 1553s 10378s 19205s 28034s 36865s 45698s 54533s 63370s 6673s 15514s 24357s 33202s 42049s 50898s 59749s 3066s 11921s 20778s 29637s 38498s 47361s 56226s 65093s 8426s
    .end array-data
    nop
    goto :arrayData
.end method

.method public static testLongFillArray()V
    .locals 2
    const-string v0, "A testLongFillArray"
    invoke-static {v0}, LL/util;->print(Ljava/lang/String;)V

    const v0, 4436
    new-array v1, v0, [S
    new-array v0, v0, [C

    invoke-static/range {v0..v1}, La/a;->testLongFillArraySub([C[S)V
    invoke-static {v0}, LL/util;->print(Ljava/lang/Object;)V
    invoke-static {v1}, LL/util;->print(Ljava/lang/Object;)V
    return-void
.end method


.method public static testExceptionsSub1(FLjava/lang/Object;)V
    .locals 1

:start
    const v0, 256

:L1
    check-cast p1, Ljava/lang/String;
:L2
    move v0, p0
    const p0, 5.5f
    cmpg-float p0, p0, v0
    if-gez p0, :printfloat
    not-int v0, p0

:L3
    move-object p0, p1
    invoke-virtual/range {p0..p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
:L4
    move-result-object p1
    goto :printstr

    .catchall {:L1 .. :L4} :handler
:handler
    move-exception p0
    invoke-static {v0}, LL/util;->print(I)V

:printstr
    invoke-static {p1}, LL/util;->print(Ljava/lang/Object;)V
    return-void

:printfloat
    invoke-static {v0}, LL/util;->print(F)V
    return-void
.end method




################################################################################
.method public static testExceptionsSub2(Ljava/lang/Object;I)V
    .locals 7

:start
    const v0, 6256
    const v1, 0
    monitor-enter p0
    move-object v0, p0
    monitor-exit p0
:monend
    throw v1

:L0
    move-object v3, v1
    goto/16 :afterSwitch

:L1
    move-object v3, v5
    goto/16 :afterSwitch


    .catch Ljava/lang/NullPointerException; {:start .. :monend} :handler1
    .catch Ljava/lang/NullPointerException; {:start .. :handler1} :rest

:switch
    .sparse-switch
        0xFFF8 -> :L0
        0xFFF9 -> :L1
        0xFFFA -> :L2
        0xFFFB -> :L3
        0xFFFC -> :L4
        0xFFFD -> :L5
        0xFFFE -> :L6
        0xFFFF -> :L7
    .end sparse-switch

:L2
    move-object v2, v1
    goto/16 :afterSwitch

:handler1
    move-exception v1

    invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    move-result-object v1
    invoke-static {v1}, LL/util;->print(Ljava/lang/Object;)V

    invoke-static {v0}, LL/util;->print(F)V
    invoke-static {p0}, LL/util;->print(Ljava/lang/Object;)V

    check-cast p0, Ljava/lang/String;
    return-void

:rest
    const v0, 42
    move v5, v0
    new-array v2, v0, [C
    new-array v3, v0, [S

    const v0, 65535
    move v5, v0
    new-array v4, v0, [C
    new-array v5, v0, [S

    move/16 v6, v0
    xor-int/2addr v6, p1

    sparse-switch v6, :switch
:afterSwitch

:beforeArrInvoke
    invoke-static {v2, v3}, La/a;->testLongFillArraySub([C[S)V
:afterArrInvoke
    .catch Ljava/lang/NullPointerException; {:beforeArrInvoke .. :afterArrInvoke} :Lnpe
    .catch Ljava/lang/IndexOutOfBoundsException; {:beforeArrInvoke .. :afterArrInvoke} :Loob

    const v4, -777
:endPrintI
    invoke-static {v4}, LL/util;->print(I)V


    if-eqz v2, :skipPrintLen
        array-length v5, v2
        invoke-static {v5}, LL/util;->print(I)V
:skipPrintLen

    add-int/lit8 p1, p1, 63
:beforeArrGet
    aget-char v4, v2, p1
:afterArrGet
    move-object v2, v1
    goto :endPrintI
    .catchall {:beforeArrGet .. :afterArrGet} :handler1

:L3
    move-object v2, v1
    move-object v3, v1
    goto/16 :afterSwitch

:L4
    move-object v2, v1
    move-object v3, v5
    goto/16 :afterSwitch

:Loob
    const v4, -77
    goto :endPrintI

:L5
    move-object v2, v4
    goto/16 :afterSwitch

:Lnpe
    const v4, -7
    goto :endPrintI

:L6
    move-object v2, v4
    move-object v3, v1
    goto/16 :afterSwitch

:handler2
    move-exception v1
    invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    move-result-object v1
    invoke-static {v1}, LL/util;->print(Ljava/lang/Object;)V
    return-void

:L7
    move-object v2, v4
    move-object v3, v5
    goto/16 :afterSwitch

:end
    .catch Ljava/lang/Throwable; {:start .. :end} :handler2
    .catchall {:start .. :end} :handler2
    # make sure catches after a catchall aren't considered by verifier
    .catchall {:start .. :end} :L5
.end method

.method public static testExceptions()V
    .locals 3276
    #####################################################
    const-string v0, "testExceptions1"
    invoke-static {v0}, LL/util;->print(Ljava/lang/Object;)V

    const v1, 5.49f
    const v2, 5.51f
    const v3, nanf
    const v4, 0.0f

    invoke-static {v1, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v2, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v3, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V

    filled-new-array {}, [B
    move-result-object v0
    invoke-static {v1, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v2, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v3, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V

    move-object v0, v4
    invoke-static {v1, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v2, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V
    invoke-static {v3, v0}, La/a;->testExceptionsSub1(FLjava/lang/Object;)V

    #####################################################
    const-string v5, "testExceptions2"
    invoke-static {v5}, LL/util;->print(Ljava/lang/Object;)V


    invoke-static {v0, v0}, La/a;->testExceptionsSub2(Ljava/lang/Object;I)V
    const-class v6, [[D
    const v5, 0
:loopStart
    invoke-static {v6, v5}, La/a;->testExceptionsSub2(Ljava/lang/Object;I)V
    add-int/lit8 v5, v5, 1
    packed-switch v5, :loopSwitch

    const-string v6, " :P "
    invoke-static {v6, v5}, La/a;->testExceptionsSub2(Ljava/lang/Object;I)V
    return-void

:loopSwitch
    .packed-switch 1
        :loopStart
        :loopStart
        :loopStart
        :loopStart
        :loopStart
        :loopStart
        :loopStart
        :loopStart
    .end packed-switch
.end method

.method public onCreate(Landroid/os/Bundle;)V
    .locals 14
    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

    invoke-static {}, La/a;->testSwitch()V
    invoke-static {}, La/a;->testLongFillArray()V
    invoke-static {}, La/a;->testExceptions()V

    return-void
.end method
