Commit 42e83f57 authored by Tachibana's avatar Tachibana 🐟

vme50

parent 30f04f8e
Pipeline #27305 passed with stages
in 27 minutes and 33 seconds
No preview for this file type
......@@ -411,11 +411,6 @@
12899006 1 --H.P.T.-
#132
13254073 1 --飞球梦工厂
#139
13959980 0 --2Pick技能-卡名变换
13959981 0 --2Pick技能-融合强化
13959982 0 --2Pick技能-同调强化
13959983 0 --2Pick技能-超量强化
#141
14140010 1 --祝祭初学
14140011 0 --呜喵呜喵·啪啪啪
......
--2Pick技能-卡名变换
--By wyykak
if not c13959997 then
c13959997={}
Duel.LoadScript("c13959997.lua")
end
local tpu=c13959997
local cc=13959980
local this=_G["c"..cc]
function this.initial_effect(c)
local e1=tpu.createSkill(c,cc,3,aux.Stringid(cc,0),false)
e1:SetTarget(this.tg1)
e1:SetOperation(this.op1)
c:RegisterEffect(e1)
local e2=tpu.createSkill(c,cc-10,1,aux.Stringid(cc,1),false)
e2:SetTarget(this.tg2)
e2:SetOperation(this.op2)
e2:SetCategory(CATEGORY_TOHAND)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_CONTROL)
c:RegisterEffect(e3)
end
function this.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(nil,tp,LOCATION_HAND|LOCATION_ONFIELD,0,1,nil)
end
e:SetLabel(Duel.AnnounceCard(tp))
Duel.SetChainLimit(aux.FALSE)
end
function this.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_HAND|LOCATION_ONFIELD,0,1,1,nil):GetFirst()
local ce=Effect.CreateEffect(e:GetHandler())
ce:SetType(EFFECT_TYPE_SINGLE)
ce:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE|EFFECT_FLAG_UNCOPYABLE|EFFECT_FLAG_CANNOT_DISABLE)
ce:SetCode(EFFECT_CHANGE_CODE)
ce:SetValue(e:GetLabel())
tc:RegisterEffect(ce)
Duel.BreakEffect()
if Duel.SelectYesNo(tp,aux.Stringid(cc,2)) then
Duel.SendtoDeck(tc,tp,2,REASON_EFFECT)
end
end
function this.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsPlayerCanSendtoHand(tp) and Duel.GetFieldGroupCount(tp,LOCATION_HAND|LOCATION_ONFIELD,0)>0
end
Duel.SetChainLimit(aux.FALSE)
end
function this.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(Duel.GetFieldGroup(tp,LOCATION_HAND|LOCATION_ONFIELD,0),REASON_EFFECT)
local g=Group.CreateGroup()
for i=1,3 do
g:Merge(Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK|LOCATION_GRAVE,0,nil,Duel.AnnounceCard(tp)))
end
Duel.SendtoHand(g,tp,REASON_EFFECT)
if e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.SelectYesNo(tp,aux.Stringid(cc,3)) then
Duel.BreakEffect()
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
local ce=Effect.CreateEffect(e:GetHandler())
ce:SetType(EFFECT_TYPE_SINGLE)
ce:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE|EFFECT_FLAG_UNCOPYABLE|EFFECT_FLAG_CANNOT_DISABLE)
ce:SetCode(EFFECT_CHANGE_CODE)
ce:SetValue(Duel.AnnounceCard(tp))
e:GetHandler():RegisterEffect(ce)
end
end
\ No newline at end of file
--2Pick技能-融合强化
--By wyykak
if not c13959997 then
c13959997={}
Duel.LoadScript("c13959997.lua")
end
local tpu=c13959997
local cc=13959981
local this=_G["c"..cc]
function this.initial_effect(c)
local e1=tpu.createSkill(c,cc,3,aux.Stringid(cc,0),false)
e1:SetTarget(this.tg1)
e1:SetCost(this.cost1)
e1:SetOperation(this.op1)
e1:SetCategory(CATEGORY_TOHAND)
c:RegisterEffect(e1)
local e2=tpu.createSkill(c,cc-10,1,aux.Stringid(cc,1),false)
e2:SetCost(this.cost2)
e2:SetTarget(this.tg2)
e2:SetOperation(this.op2)
e2:SetCategory(CATEGORY_TOHAND)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_CONTROL)
c:RegisterEffect(e3)
end
function this.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.GetLP(tp)>=1000 and Duel.IsExistingMatchingCard(function(c) return c:IsDiscardable() end,tp,LOCATION_HAND,0,1,nil)
end
Duel.PayLPCost(tp,1000)
Duel.SendtoGrave(Duel.SelectMatchingCard(tp,function(c) return c:IsDiscardable() end,tp,LOCATION_HAND,0,1,1,nil),REASON_COST|REASON_DISCARD)
end
function this.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsPlayerCanSendtoHand(tp)
end
Duel.SetChainLimit(aux.FALSE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,0)
end
function this.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.CreateToken(tp,24094653)
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
function this.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsPosition,tp,LOCATION_EXTRA,0,nil,POS_FACEDOWN)
if chk==0 then
return not g:IsExists(function(c) return c:IsType(TYPE_FUSION) and c:IsType(TYPE_MONSTER) and not c:IsAbleToRemoveAsCost(POS_FACEDOWN) end,1,nil)
end
Duel.Remove(g:Filter(function(c) return not (c:IsType(TYPE_FUSION) and c:IsType(TYPE_MONSTER)) end,nil),POS_FACEDOWN,REASON_COST)
end
function this.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsPlayerCanSendtoHand(tp)
end
Duel.SetChainLimit(aux.FALSE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,0)
end
function this.op2(e,tp,eg,ep,ev,re,r,rp)
getmetatable(e:GetHandler()).announce_filter={0x46,OPCODE_ISSETCARD}
local tc=Duel.CreateToken(tp,Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter)))
Duel.SendtoHand(tc,tp,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCondition(aux.exccon)
e1:SetCost(this.cost3)
e1:SetTarget(this.tg3)
e1:SetOperation(this.op3)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetDescription(aux.Stringid(cc,3))
tc:RegisterEffect(e1)
end
function this.costfilter3(c)
return c:IsType(TYPE_FUSION) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function this.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(this.costfilter3,tp,LOCATION_GRAVE,0,1,nil)
end
Duel.Remove(Duel.SelectMatchingCard(tp,this.costfilter3,tp,LOCATION_GRAVE,0,1,1,nil),POS_FACEUP,REASON_COST)
end
function this.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return e:GetHandler():IsAbleToHand()
end
Duel.SetChainLimit(aux.FALSE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function this.op3(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsLocation(LOCATION_GRAVE) then
Duel.SendtoHand(e:GetHandler(),tp,REASON_EFFECT)
end
end
\ No newline at end of file
--2Pick技能-同调强化
--By wyykak
if not c13959997 then
c13959997={}
Duel.LoadScript("c13959997.lua")
end
local tpu=c13959997
local cc=13959982
local this=_G["c"..cc]
function this.initial_effect(c)
local e1=tpu.createSkill(c,cc,3,aux.Stringid(cc,0),true)
e1:SetTarget(this.tg1)
e1:SetOperation(this.op1)
c:RegisterEffect(e1)
local e2=tpu.createSkill(c,cc-10,1,aux.Stringid(cc,1),false)
e2:SetCost(this.cost2)
e2:SetTarget(this.tg2)
e2:SetOperation(this.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_CONTROL)
c:RegisterEffect(e3)
end
function this.filter1(c)
return c:IsFaceup() and c:GetLevel()>0
end
function this.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingTarget(this.filter1,tp,LOCATION_MZONE,0,1,nil)
end
Duel.SelectTarget(tp,this.filter1,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetChainLimit(aux.FALSE)
end
function this.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc or not tc:IsRelateToEffect(e) or not this.filter1(tc) then
return
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(Duel.AnnounceLevel(tp))
e1:SetReset(RESETS_STANDARD)
tc:RegisterEffect(e1)
if not tc:IsType(TYPE_TUNER) and Duel.SelectYesNo(tp,aux.Stringid(cc,2)) then
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_ADD_TYPE)
e2:SetValue(TYPE_TUNER)
e2:SetReset(RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
function this.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsPosition,tp,LOCATION_EXTRA,0,nil,POS_FACEDOWN)
if chk==0 then
return not g:IsExists(function(c) return c:IsType(TYPE_SYNCHRO) and c:IsType(TYPE_MONSTER) and not c:IsAbleToRemoveAsCost(POS_FACEDOWN) end,1,nil)
end
Duel.Remove(g:Filter(function(c) return not (c:IsType(TYPE_SYNCHRO) and c:IsType(TYPE_MONSTER)) end,nil),POS_FACEDOWN,REASON_COST)
end
function this.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return true
end
Duel.SetChainLimit(aux.FALSE)
end
function this.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,cc)>0 then
return
end
local esp=Effect.CreateEffect(e:GetHandler())
esp:SetType(EFFECT_TYPE_FIELD)
esp:SetCode(EFFECT_SPSUMMON_PROC)
esp:SetDescription(aux.Stringid(cc,3))
esp:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
esp:SetRange(LOCATION_EXTRA)
esp:SetValue(SUMMON_TYPE_SYNCHRO)
esp:SetCondition(this.syncon)
esp:SetOperation(this.synop)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD|EFFECT_TYPE_GRANT)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTargetRange(LOCATION_EXTRA,0)
e1:SetTarget(function(_,c) return c:IsType(TYPE_SYNCHRO) and c:IsType(TYPE_MONSTER) and not c:IsFaceup() end)
e1:SetLabelObject(esp)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,cc,0,0,1)
end
function this.matfilter(c,sc)
return ((c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) or c:IsLocation(LOCATION_HAND)) and c:GetLevel()>0 and c:IsCanBeSynchroMaterial(sc)
end
function this.syncon(e,c,smat,mg,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
local minc=1
local maxc=99
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
end
local rmg=mg
if not mg then
rmg=Duel.GetMatchingGroup(this.matfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,nil,c)
end
if smat then
if this.matfilter(smat,c) and smat:GetLevel()<=c:GetLevel() then
rmg:RemoveCard(smat)
return rmg:CheckWithSumEqual(Card.GetLevel,c:GetLevel()-smat:GetLevel(),minc-1,maxc-1)
else
return false
end
else
return rmg:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),minc,maxc)
end
end
function this.synop(e,tp,eg,ep,ev,re,r,rp,c,smat,mg,min,max)
local tp=c:GetControler()
local minc=1
local maxc=99
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
end
local rmg=mg
if not mg then
rmg=Duel.GetMatchingGroup(this.matfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,nil,c)
end
local mat
if smat then
rmg:RemoveCard(smat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
mat=rmg:SelectWithSumEqual(tp,Card.GetLevel,c:GetLevel()-smat:GetLevel(),minc-1,maxc-1)
mat:AddCard(smat)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
mat=rmg:SelectWithSumEqual(tp,Card.GetLevel,c:GetLevel(),minc,maxc)
end
c:SetMaterial(mat)
Duel.SendtoGrave(mat,REASON_MATERIAL+REASON_SYNCHRO)
end
\ No newline at end of file
--2Pick技能-超量强化
--By wyykak
if not c13959997 then
c13959997={}
Duel.LoadScript("c13959997.lua")
end
local tpu=c13959997
local cc=13959983
local this=_G["c"..cc]
function this.initial_effect(c)
local e1=tpu.createSkill(c,cc,3,aux.Stringid(cc,0),true)
e1:SetTarget(this.tg1)
e1:SetOperation(this.op1)
c:RegisterEffect(e1)
local e2=tpu.createSkill(c,cc-10,1,aux.Stringid(cc,1),false)
e2:SetCost(this.cost2)
e2:SetTarget(this.tg2)
e2:SetOperation(this.op2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_CONTROL)
c:RegisterEffect(e3)
end
function this.filter1(c)
return c:IsFaceup() and c:GetLevel()>0
end
function this.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingTarget(this.filter1,tp,LOCATION_MZONE,0,1,nil)
end
Duel.SelectTarget(tp,this.filter1,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetChainLimit(aux.FALSE)
end
function this.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc or not tc:IsRelateToEffect(e) or not this.filter1(tc) then
return
end
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
g:ForEach(function(c)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(tc:GetLevel())
e1:SetReset(RESETS_STANDARD)
c:RegisterEffect(e1)
end)
end
function this.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsPosition,tp,LOCATION_EXTRA,0,nil,POS_FACEDOWN)
if chk==0 then
return not g:IsExists(function(c) return c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER) and not c:IsAbleToRemoveAsCost(POS_FACEDOWN) end,1,nil)
end
Duel.Remove(g:Filter(function(c) return not (c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER)) end,nil),POS_FACEDOWN,REASON_COST)
end
function this.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return true
end
Duel.SetChainLimit(aux.FALSE)
end
function this.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,cc)>0 then
return
end
local esp=Effect.CreateEffect(e:GetHandler())
esp:SetType(EFFECT_TYPE_FIELD)
esp:SetCode(EFFECT_SPSUMMON_PROC)
esp:SetDescription(aux.Stringid(cc,2))
esp:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
esp:SetRange(LOCATION_EXTRA)
esp:SetValue(SUMMON_TYPE_SYNCHRO)
esp:SetCondition(this.xyzcon)
esp:SetOperation(this.xyzop)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD|EFFECT_TYPE_GRANT)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTargetRange(LOCATION_EXTRA,0)
e1:SetTarget(function(_,c) return c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER) and not c:IsFaceup() end)
e1:SetLabelObject(esp)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,cc,0,0,1)
end
function this.matfilter(c,sc)
return c:IsFaceup() and (c:GetLevel()>0 or c:GetRank()>0) and c:IsCanBeXyzMaterial(sc)
end
function this.matfilter2(c,rk)
return c:IsLevel(rk) or c:IsRank(rk)
end
function this.xyzcon(e,c,og,min,max)
if c==nil then return true end
if min and min>1 then return false end
if max and max<1 then return false end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
if og and not min and #og>1 then return false end
local tp=c:GetControler()
local rmg
if og then
rmg=og
else
rmg=Duel.GetMatchingGroup(this.matfilter,tp,LOCATION_MZONE,0,nil,c)
end
return rmg:IsExists(this.matfilter2,1,nil,c:GetRank())
end
function this.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,min,max)
local rmg
if og then
rmg=og
else
rmg=Duel.GetMatchingGroup(this.matfilter,tp,LOCATION_MZONE,0,nil,c)
end
local mat=rmg:FilterSelect(tp,this.matfilter2,1,1,nil,c:GetRank())
c:SetMaterial(mat)
Duel.Overlay(c,mat)
end
--2pick Card List
local cc=13959994
local this=_G["c"..cc]
function this.initial_effect(c)
end
this.Main="10000101D360A5A6A7A8A9B72A3A4A8C400A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A4A5C600A1A2A3A4A5A6A8A9B19B20A1A2C801A6A7A8A9B10A2A4A5A6A7A9B20D30011B31B41A5AA51AA61AA7A81AB10A1A4A5A6A7B22A4D44001B11B51C101E50001A5B21B81B91C101B11E60001B11B21B31B41B51B61B71B81C101B11B21E70003B10A1A2A4A5A7A8AA20A1A2AA3A4A5A6A7A9B100A1A2AA1A3A5A9B29C1001B91C101B91C201A2A3B11B21B31B91C301B11E80001AA11AA21AA31AA41B7A8B14A5B20A1A2A3A4A5A6A7B37A8D9001A2A3A4A5A6A7A8A9B10A5A8A9B20A1A2A3B30A1A2A3A4A5A6A7A9B40B727F113067E50096D8001A2A5A8A9B11A2A3E71001A2A3A4A5A6B12A3A4A5A6A8A9B20A3D4036B44A8A9B63A9F200010B20B80B90A9C110C212A3C520C655C866A7E12103E20000B11A2A3B21A2B31A2B41A2B51A2B61A2B71A2B82B92C102D1011A2A3B21A2B31B41D2013A4B23A4B34B44F300001F400090A2A3A6A8D1153A4A5A6A9B61A2A7A9B72A3A5A7A9B80A1A2A3A4F60002E700001B11B21B31B41B51B61C131B41B51B61B71B81B91C211A2B31D1001B11B21B31B41B51B61B71B81B91C121B31B51B61B71B81B91C201B21B31D2001A2B11B21B31B41B51B61B71A5C131B41B51B61B81D3001B11B21B41B61B71E10001B11B21B41B51B61B71F900048B51A2A3A4D1000A1A2A3A4A5A6A7A8A9B10A2A3A5C111D2000A1A2A3A4A5A6A8B10A1C100A1A2A3A9B10A1D3000A1A2A3D4000A1A2A3A4A5A6A7A8A9B10A3A4A7A8B21A2A3A6A7A8A9B30A3A4A5A6A7D5000A1A2A3A4A5A6A7B10D6000A1A2A3A4A5A6B11A3A4D7000A1A2A3A4A5D8000A1A2A3A4A7A9B10A1B90A1A2A3A4A5A6A7A8A9C100A1A2D9000A1A2A4A5A6A7A8A9B10A1A4A5A6A7E10000A1A2A3A4A5A6A7A8B10A2D9000E20000A1A2A3A4A5A8E30000A1A2A3A4A5A6E40000A1A2A3A4A5E69988A9B92A4A5A8A9E70000A1A2A3A4A5A6A7A9B10A2A3E81040D3001A3A6G100003D2000A1A2A3A4A5A6A7A8B14A6A8B20B80A1A2A3A4A5A6A7A8A9E10000A1A2A3A4A5A6B10A1A2AA2A4A7A8A9B10A1A2A3A41A2A3AA51A2B6A98D1001A2A3A4A5A9B18B25A6A9AA31A2A6B41B50A6A7B90C201A2A3B21A2A3A4C3000A1A6A7A8A9B13AA27B34C105B23A7B31A3A5B71A5D401A2A3C5000A1A3A4A5A6A7A9B10A2A3A5A6AA21AB11D2101A2A3C201A2A3E20003A4A5B3A4A5A6A7A8A9B101AA1A2C311A2A3A4A5A6D3000A1A2A3A4A5A6A7A8B58A9C210A1A2A3A4A5A6A7A8A9B21A2A5D40001B1A2B101AA1A21B4A6A7A8A9B201A4B3A4A6B34A5C1001A2A4A5C101A3C201C701A2D5001C1400A1A2A3A4A5A6A7A8A9B11A2A3A4A5A6A7A8B20A1A2A3A4A5B31A2A3A4A5B55A7A8A9B61A2A3A4A5A6A7A8A9B70A1B89B90A3A4A5A7A8A9C500A1A2A3A4A5A6A7A8A9B10A8A9B20A1A2A3A4A5A6A8B30B48B50B68B70A3A4A6A7B84C600B11A2A3A4A5A6A7A8B21B31C707A8E9001E500003A4A5A7B11A2A3A4A6A8A9AA20A1A2A3A4A6A8AA3A4A6A7A8A9B11A2A4A6A7A8AA20A1A2A6A7A8B30A2A5A6B40B6B12A4A5A7A8D60001A2A4A5B11B21A3A5B41A3D1001A7A9B21A3A5A6E70001A4A5B11A2A7A8D1001B12A3D5101A2A3A4B20A1E800001A2A3A4A5A9B11A2A3A4A5A6B24A5B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7B71A2E2001A2A3A5B51A3D4001A3A4A5A7A9B10A1A4B61A2A3A4B71A3B81C121D86000A4F9001A21A2A3B3A4A5A6A7A8B14A6C1001A3D2018B20D7001C111A2A3A9B20D9031F2000501B10A2A3D1000A1A2A3A4A5A6A7A8A9B10A1A2A3A5A6A7A8A9D2501B11A2A3A4A5A6B30D3000A1A2A4A6A7A8A9B13A4A5A8B20A1A2A3A9D4000A1A2A3A4A5A6A8B10A1A8B24D5000A1A2A3A4A5A6A7A8A9B14A8B20A1A2A3A8B38A9D6001A2A4A5A6A9B10A1A2A3B20A1A2D7000A1B10A1B20A1A2A5A6B30A1A2B41B99D8000A1A2A3A4A5A6A7B10A1A3A4A5A6B21A2A3A4A7A8A9B30A1A2D9008B12A3A4B32A3A4A5A9B40A2A3A4A5A7A8A9B50A6B60A7C100A1E10002A3A4A5A6A7B11A2A3A4A5A6B21A2A3A4A5A6A7B31A2A3A4A5A6A7A8D1000A1A2A3A4A5A7A8A9B10A5A6A7D3000A1A2A5A8A9B10A1A5B55D4000A1A2A3B11A2A3A4A5A6B40D5001A2A3A4A5A6B20B30B50D6000A1A2A3A5B20A1A2A3A4A5D7000A1A2A3A4A5A6A7B20D8000A1A2A3D9000A1A2A3A4B10A1B20A1A2A3A4B60E24000A1A2A3A4A5A6B10A1A2A3A4D5000A1A2A3A4A5A6A7A8A9D6000A1B10A1A2A3A5A6B20A1A2A3A4A5A6A7A8B40A1A2D7012D8000A1A2A3A4B14B20A1A3D9001A3A4B10A1A8A9B20B33A5A6B40A2A3B70A1A3A5B80A1C400E30000A1A2A3A4A5A6A7A8A9B18B20D1001A2A3A4A5A6A7D2000A1A2A3A4A5B10A1A2A3A4A5D3000A1A2A6B10A1A2A3A5A6D4000A1A2A3A4A5A6D5000A1A2A3A4A8B20A1A2A3A4D6000A1A2A4B10A1D7000A1A2A3A4A5A6A7A8B15B20A1A2A3A4A5B50A1A2A3B60A2D8000A1A2A3A4A5A6D9000A1A2A3A4A5A6A7A8A9B10B50A1A2A3B70E40001A2A3A4A5A6A7A8A9B60B70D1000A4A6A7B10D2000B11A2A3B20A1A2A3A4A5A6B35B40A1A2A4A5A6B50D3000A1A2B10A1A2A3A4A5A6B20A1A2A3A4B50A1A2A4A5B60A1A2B80A1D4000A2A4A5B11A2A3A4A5A6A7A8A9B20A1A2A3A6A7A8A9B30A1A2A3A4A6B40A1A2A3A4B60B70A1B80A1A2A3A4A5A6A7A8A9D5000B10A1A2A3A4A5A6A7B20A1B40A1A5A8B50A1D6000B50D7000A1A2A3A5A7A9B50A1A2A3A4A5D8001A2A3A4A5A6A7A8A9B15A8B20A1A2A3A4A5A6A7A8B30A2A3B40A8E50000A1A2A3A4A5A6B10A1A2D1010A1A2A3B30A1D3000A1A2A3A4A5A6A8D4001A2A3A4B10B51A2A3A4A5D6000A1A3A4A5A6A7A8A9B10A1A2A3A4A5D8000A1A2A3B11A2A3B30D9000A1A2B20B30E60010A5B30D1000A1A2A3A8B20A1B30A1D2000A1A2A3A4A5B10A1A2A3A5B20B30A3B40A1A3B50A3B60B80A1A2A3A4A5A6D3001A2A3A4A5B10A1D4000A1A2A3A4A5A6A8B20D5000A1A3B11A2A3A4B50A1A2A3A4B60A1A2A3D6000A1A2A3B20A1A2A3D8001A2A3A4A5A6B10A1D9000A1A2A3A4A5A6E70001A2A3A4A5B10B20A2A3B30A1A2A3A4A6A7A8B40A1A2A3A4B50A1A2A3A5A6E80001A2B10A1A2A3A4A5A7B20A1B50A1A2A4D3001A2A3A4A5A8B10A1A2A3A4A5B28B80A1A2A5B90D4000A1A2A3A4A5A8B50A1B61A3A4A5A6A7B85A7D6000A1A2A3A4D7001A2A4A5B20A1B50A1A2A3B60A1A2A3B70D8000A1A2B11A2A3A4A5A6A7D9001A2A3A4A5A6A7A8B20B30A1A2A3A4A5A6E90050A1A2A3A4B70A1A5A6A7B80A1A2A3B90A1A2A3A4A5D4001A2A3A4A5B11A2A3D8002A3A4A8A9B10A4A9B21B71A2A3A4B90A1A6F200000A1A2A3A4F400000A3A4A5A7A9B10A1A3A4A6F800001A2A3A4A5A7B15D8001A2A3A4B11A2A3A4C221A6A8B67A9B70C826E12001A2A3A4A6A7A8A9B10E25601A7A8A9B10A1A2A3A4E47001B15B33A9E52001A2A3A4A5A6A7A8A9B10C101A2A3A4A5A6A7A8E92000A1A2A3A4A5A6B99D5001A2A3A4A5A6A7A8A9B10D9001A2A3A4A5A6A7A8A9B10A3A4A6A7G3254031A2A3A4A5A6A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A9B71A2A3D5402A8B12D7201A3A7A8A9B10A1A2A3A4A5A7A8B22A5A7A8A9B30A1A3A4A5A6A7A8B41A3A4A5A6A8B50A1A2A3A4A5C301A2A3A4A5A6B25A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4B50A2A3A4A5A6A7A8A9B60A1A2A3A4F959980A1A2A3G4140007D1001A2A3A4A5A6A7A8E75002A3A6A7A8A9F700000A1A2A3A4A5B22A3A4A5A6A7A8A9B50A2A5A6C102A3A4A5A7A8B20A1D1000D3000E90001A2A3A4A5A6A8B20A1A2A3A4F800101A2A3A4A5A6A7A8B10A1A2B26B41B72A7A8A9B80A1A4A6B91A9C219C589C681A2A3A4A5A6C710B34B73A4D1271A2C729B31A2A3A4A5A6A7A8A9B40A1A3A4A5A6A7A9B50A2A6A8A9B60A1A2A3A4A5A6A7C800G5000041A2A3A6A7B50A1A2B60A4A5A6A7C113A4B25B61A2A3A8B71B86C240A1A2A3A4A5B51A2A3C320A1A2A3A4B30A1A2B51A2A3A4A8B61A2A4A6B88A9B90A9C400A1A2A9B10A1B90A1C500B41A2A3A7A8A9B50A5A8A9C600A4B10B20A1A2A3B61A6A7A8B96A7A8A9C700A8B10A1A2B20A2A4A6A8B40A2A4A6A8B60A2A4A6A8B80A1A2A3A5A7A9B90A8C800A2A4A6A7B10A1A3A4B50A2A4A6A7A8B62A6A8B70A2C900A1A2A3A4A5B10A1A2A3A4A5A6B21A3A5A7A9B30A1A2A3A4A9D13B2000A1B10A1A2B20A1D4009B10A1A7B20A1A2A3A4A5B30A2A4A6B41A2A3A4A7A8A9B53C104A6A7B90A2A4A6A8C202B10A1A3B21A2A3A4A5A7A8B40A1A2B91A4C360A1A3A5A7A9B70A2B91A3A4A6C501A4A7A8E70001A2A4A5A8A9F873611A2A3A4A5A6A7A8B20A1B34A5A6A7A8A9B40A2A3A5A7A8A9B50G6101031A2A6A7A8A9B40A6A7A8B71A5A8A9B80A1A2A3C102A6A8B11A2B49B50A1B65B73A5A6A7A8A9B80A1A2A3A4A6D4200A2A4A6A8B10A2A8B20A4A6A8B30A2A4A6A7B42A8C400A1A2A3A4A5A6A7A8A9B11A2A3A5A6B22A3A4A6A8D5300A1D7100A1A2A3A4A5A9B10A1A2A3A4A7B21A2A3A4D8100E10000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A7A8B31A2A5A6A8A9B50A1A2A3D2000A1A2D4200A1A2A3A4A6A7A8A9B10A1A2A3A4A5A6A8A9B20A1A2A3A4A6A7A8B35A8B40A2A3A4A5B50A1A2A4B88E20003A5A7A8B10A3E30002A6A8A9B10A1E40000A1A2B18D9584A6E50001A2A3A4A5A6A7A8B10A1A2A4A5A9B20A1A2A3A5A6A7A8A9B30A1A3A5B49D2001E60001A3A4A5A6A7D1000A1A2B10D2000E70000A2A3D2000A1A2A3A4A5A6A7A8A9B10A2A5A6A7A9B22A3A4A6B30E99520A1A2A3F200000A1A4A5A6A7A8E32001A2A3A4A5A9B10A1A2A3A4A5A7A9B20F400001A2A3A4A5A6A7A8A9B18A9B20A1A2A3A4A5B39B40A1B54A5A6A7A8A9B60B71A2A3B81A2A3A4A5A6A9B92A3G70002A3A4A5A7A8A9B10A1C10000A1A2A3A4A5A6A7A8A9E20000B10B20B40B50B60B70B80B90C100B10B20C210B20B30B40C410D9000A1B10C230E30600A1B10A1B30A1B40B80B90C710B20B30B40B50B60B70B80B90C800B10B20B30B40B50B70B80B90C900B20B30B40B50B70B90D1010B20B30B40B50B70B80B90C110B20B30B70B80B90A1A2D2020C110B20B30B40B50B60B70B80B90A1C200A1B10B20B30B40B50B60B70B80B90C300B30B70B80B90C500B10B20B30B40B50B60B70B80B90C600B10B20B30A5A6A7B40B60B70B90A1C700B10B20B30B50B60B70B80C800B20B40B50B60B70B80B90C900B10B20B30B50B60B70B90D3000B30B40B50B60B80A1B90A1C100A1B20B30B40D5010B20A1A2A3B30B40B50C100A1B20B90C200B10B20B30C310B20C410A1B20B30B40B50B80B90C500B10B20B30B40B50B60B70E55000B10B20B30B50E60810B20B30B40A1A2B50A1A2B60B70A1A2A3B80A1A2A3D1030A1A2B80C110A1B20A1B50B60B70A1B80B90C200B10A1A2A3B20B70B80C310B20A1B40B50A1B60B70B80B90C400B20A1B30B40B60B80B90C500C610B20B30B50C800B10B20E93000A1A2A3A4A5A7A8A9B10A1B80A1G8001002A3A4A5A9B10A1D3001A2A3A4A5A6A7A8A9B10D4001A2A3A5A6A7A9B12A5D5001A2A3A4A5A6A7A8A9B10A1A2A3A4A5D7001A2A3A4A5B11A2A3A4A5A6D8001A2A3A4A9B10A1A2D9011A3A5A7A9B21A3A5A7A9B33E10001A2A3A4A7D6001A2A3A4A5A6A7A8A9B10A1A2A3A8A9B20A1D9001A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A9B30A1A2A3A4A5A6E20001A2A3A4A5A6A7A8B11A2A3A4B51A2A3A4B61A2A3A4A5A6A7D1001A2A3A7A8A9B10A1A2A5D3001A4A5A6A9B10D4002A3A4A5A6A8A9D5001E86001A2F9113A4A5A6A8B21A3E9500000A1A4A5A6A7A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A6A7B30A1A2A3A4A7A9B40A1A2C150B60B80C220B30H20000000B50A1A2A3A4A5A7A9B60A1A2A3A4A5A6A8A9B70A1A3A4A6C100A1A2A3A4A5A6A7A8A9B10A5A6A7A9B20A1A2A3C300A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6C450A1A2A3A4A5A6A7A8A9B60A1C500A1A2A3A4A5A6A7A8B10A1A2A3A4A5A8A9B20A5A6A7A8A9B30A1A2A3A4B50A1A2A3A4A5A6A7E66024A5A6A7B32A3A4A5A6A7A8A9B40A1E99999F100000B37C200A2A4A6A8B23A5A7A9B33A5A6A7A8A9B40C300A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5B97C417A9B21A3A5A7A9B31C510C600A2A4A6A8B10A2A4A6A8E23003A6A7A8A9B10A1A3G1000010C679C920A4A6F310001A4A5A6A7A8A9B10F520095A6C101A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6B61A2A3A4A5A6A7A8A9B70A6A7A8A9B80A1A4A5A6A7A8A9B90A1A2A3A4A5A6C239B40A1A2A3A4A5A6A7A8A9B50E60002G2100131G3000300A1A2A6A7B10A1A2A3A4A5A6A7A8B20A2C410B20B30B40B50B60B70B80B90C590C600B20B60B70D1000A1A2A3A4A5A8A9B10D3001A2A3A4A5A6A7A8A9B10A8B20B30C100A5B10A5B30D4002A3A4A5A6A7B50D8001A2A3A4E62003A4A5A6A7A8A9B10A1A2A3A6A7A9B20A3A4B70A1A2A3F100001A2A3A6A7B10A1A2A3A4A5A8A9B21A2B30A1A2A3A6A7A8A9B40A1A2A3A5A6A7A8A9G4100002A3A4A5A6A7A8A9B11A2A4B23A5A6F300001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7B21B31A2A3A4A5B80A2A4A6A8A9B96E10020F562456A7B60A2A5A6A8B70A1A3A5A9B80A1A3A4A5A6F865310A1A2A3A4A5A6A7A8B21A2A5A6A7A8A9B30A1B40C400G5750005A6A7A8A9B10A1A2A3A4F810001B11B21B31C101B11B21B31B41B51B71B81C201G6100001A2A3A4A5A6A7B10A1F640001A2A3A4A5A6A7A8B10A1A2A3A4A5A6A9B23A6H30000200A5B20B31A6B40C450B60C500B10D5000A3A5A7B10B20B30B40A5B50A5B65B80B90A5C100A5B10A5B40B60A5B70B90A5C205D8800A1A2A3A4A5A7A8A9B10E52000A1A2A3A5A6A8A9B10A1B71A2A3B90A1E99900F553101A2A3A4A5A6A8A9C201A3A5A7A9B11A3A4B50A1A2A4A5A6A7A9B60A1A2A3A4A5A6C300A1A2A3A5A6A8A9B10D6001A2A3A4A5B11A2C807A8B20D8001A2A3A4A5A6A8A9B11A3E80000A1A2F600001C100B20B30E10000A5B10A5B20A1A5B30A5A9B40A1A2A3A4A7A8A9B50A5B65E28000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8E39998E55556B60A1A7B75B80E66660E81045B50C500A5A6A7D2003D3011A5B20A5B30A5C500A5B10A5B20C600A5F700005A6A7A8B10A1A2A3A4A5A6B22A3A5A6A7A8A9B30A1A2A4A5A6A8A9B40A1A2A3A4A5A7A8A9B50A1C104A5A6A7A8A9B10A1A2F900001A2A3A4A5A6A8A9B10A1A2A4A5A6A7A8A9B21A2C300A1A2A3A4A5A8A9B10A1A2C500A1A2A3A4A5B11A2A3A4A5A6A7B20A1C600A1A2A3A5A6A8A9B10A1A2A3A4C700A1A2A3A8A9B10A1A2D1000A1A2A3A4A5A6B10A1A2A3A4A5G1300001A2A3A4A6A9B11A2A3A5A6A7E38000A1A2A3A4A5A6A7G3200001A2A3A4A5A8B12A4A5B22B43B50A2A3A8A9B60A1A2A3A4A5A6A7A8A9B70A1C100A1A2A3A4A6A7B11A2A6A8A9C251A2A3A4A5A6A7A8B61A2A3A4A5C400A1A4A5A7A9B11A2A3A5A8A9B20A1A2A3A4A5A7A9B31A3A5A6A7A9B42A5A9B52C501A3A5A6A7A8A9B11A4A6B20A2A5C601A3A5A7A9B11A3A5A7A9B23A7A9B50A1A2A3A4A5C701A3A5A7A9B12A5A8B21A4B40A5C801A2C901A3A4A5A6A7A8A9B10A1A2A3A6A7B51A2A3A4A5A6A7A8D1010A1A2A3A4A5B50A1A2A4A5A6A8A9B60A1A3A4A6A8A9B71A2A3C102B51A2A4A7A8A9B61A2A3A4C200A1A3A4A5A6A7A8B10A1B50A1A2A3A4A5A6A7B64A5B70A1A2A3A4A5A6A7C300A1A2A3A4A5A6A8A9B10A3A5A6A7A8E50000E66000F300150A1A2A3A4A6A7A8C200A1A2A3A4A5A6A7C302A3A4A7A8B50A3A4A5A6B60A1A2C810E10001A2A3A4A6A7A8A9B15A6A7A8A9B23A4A5A8C100A1A2A3A4B50A1A2A3A4A5A6A7C200A1A3A4A5A7B14A5A6B50A1A2A3A4A5A6C300A2A3A5A6A7A9B12B50A1B75C501A2A3A4A5A6A9B10C600A1A2A3A4A6A7E30001A2A3A4A5A6A7A8B15A9B20A1A2A3A4A5A6A7A8A9B30A1A2A4A8B43A5A6A7A8B50A1A2A3A5A7A8B61A3A4A5A6A7A8B70A1A4A5A6A8A9B80A2A7A8A9B90A1A4C100B50A2A3A5A6A7A8A9B60A3A4A5A6A8B70A2A3A4A5A6A7C201A2A4A5B11A2A6A7B21A2C301A2A3A4A5A6B23B50C400A1A2A3A4A5A6A7A8A9B11A2C601A2D1100A1A2A3A4A5B10A1C354C551A2A3A4A5A6A8B61A2A3C600A1A2A3A4A5A6A7A8C701A2A4A6A8A9B10A1A2A3C801A2A3A4A5A6A9B10A1D4568C650A9B69B72D8101A2D9001A2A7A9B11A3B31A3B41A3E40001A2A3A4A5A6A7A8B13A4E50001A2A3A4A5A6A7A8A9B10A2E74560A1A2A3A4A6A7E81006A9B14A7B90A1A2F400001A2A3A4A5B17A8A9B37C100A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6A7A8A9B20A7C200A1A2A3A4A5B10B22B54A5A6A7A8A9C300A1A2B10A1A2B20A2B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5B60A1A2A3C401A2A4A5B13A5B20A1A2A3A4A7A8A9B30A1A3B50A1A2A3A4A6A7A8A9B60A1A2A4B70A1A2A3A4A5C501A2A3A4A5A6A7A8B19B20B50A1A2A4A5A6C601A2A3A4A5A6B51A2A3A4A5A6A7C701A2A3A4A5B11B51A2A3A4A5A6A7A8A9B60C801A2A3A4A5A6A7A8B50A1A2A3A4A5B60C900A1A2A3A4A5B51A2A3A4A5A6A7D1001A2A3A4A5B50A1A2A3A4A5A6A7A8C200A1A2A3A4C301A2A3A4A5A6B10A2A4A5A6A7A8A9B20A1A2A3A4C401A2A3A4A5A6A7A8A9B10A1B50C601A2A3A4A5B25A6A7A8A9B30B50A1A2A3A4B74A5A6A7A8A9B80A1A2A3A4A5D5001A2A3A4A5A6A7A8A9E76001F500001A2A3A4A5B11A2B20B50C100A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B20A1A2A3C200A1A2A3A4A6A7A8A9B10A3A6C301A2A3A4A6C400A1A2A3A4A5A6C501A2A3B10B33A4B51A3A5A7B61A3A5A7C801A2A3A4A9B10A1A2C955B81A2A8D1001A7B11A7A9B24B31A2A3A7B77B86C201A3A6B50A2A4B60C301A2A3A4A5A6B10A1D2001A2A3A5A6A7A8B10A1A2A3A4A5A7B22A3A6C301A2A3B11A4C400A1A2A3A4A5B11A2A3A4C501A3A5A7A9B11C601A2A3A4A5A7A8A9B10A1A2A3C701A5A7A9C900A2A4A6A8B10A2A4A8B20A2D3101A3A5A7B11A3C200A1A2A3A5B10A1C300A1C401A3A5B11A3C500B11C600A1A2A6A7B10A1A2A6A7B20B73E85000A2A3A4A5A6A7B11A2A6A8A9B20A1A2A4A6A8A9B30B75A6A7A8A9F700000A1A2A3A7A8A9B10A1A2A3A5A6A7A8A9B20A2A4A9B30A4A5A7A8A9B40A1A2A3A4A5A6A7A8A9B50A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5A6A7A8A9B80A1A8A9B90A1A2A3A4A5A6A7A8A9C100A1A2A3A6B20A1A2A3A4A5A6A7A8B31A2A3A5A6A8A9B41A2A3A4A5A6A7A8B63A4A5A6A7B70A4A5A6A7A8B80A1A6A7A9B90A1A2A3A5A6A8A9C201A2A4A5A6A7A8A9B10A1C300A1A2A3A4A5A6A9B14A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A8A9B40A1A2A3B62A5B79B80A3A9B99C400A1A2A3A4A5A6A7A8A9B11A4A5B21A2A3A4A5A6C501A2A3A4C650A1A2A3A4A5A6A7A8A9C701A2A3A4A5A6B13A4A5A6A7A8A9B20A1A2A3A4A5A6A7B32A3A4A5A6A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B78A9B80A1A2A3B92A3A4C900A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A6B42A4A5A6A7B89B90A1A2A3A4A5A6A7A8D1003A4A5A6A7A8B10A1A2A3A4A5A6B21A2A3B48B66A7A8A9B70A3A4A5A6A7A8A9B80A1C120A1C315A6A7A8A9B20A1A2A5A6A7A8A9B30A1A5A6A7A8A9B40A1A2A3A4A5B50A1A4A5A6A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5A7A8B80A1B95A6A7A8C400A1A2A4A5A6A7A8A9B10A1A2A5A6A7B21A2A3A4A5A6A7A8B30A1A2A3A4A5A6B40A1A2A3A4A5A6A7A8C500A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A8A9B20A1A2A3A4A5A9B30A1A2A3A4A5A6A7A8A9B40C600A1A2A3A4A5A6A7A8D9003A4A5A6A7A8A9B10A1A2A3A4A5E10901A2A3A4A5A6A7A9B10A3B20A1A4D1004A5A6A7A8B10C101A6A7A8A9B10A2A8A9B20A1A2A3C301C401A3A4A5A6A8A9B10C501A2A3A4A5A6A7C601A3C701A2A4C801C901A2A3D2000A1A2A3A4A5A6A7A8A9B19E20001A4A5A6A7A8A9B10A1A3A5A6A7A8A9B20A1A3A4A5A6A7A8B31A2A3A4A5A6A7A8A9B40A1A2A3A5A6A7A8B50A1A2A3A4A5A8A9B60A1B70A1A2A3A4E30001A3A4A5A6A7B10A1A2B20A1A2A3A4A5A6A7A8A9B40A1A3A4A5B60A1A2A4A6A9B73A5A7A9B80A2A4A6A8B90A2A4A6C104A7A9B11E77000A1A2A6A7A8B10A1A2A3A4A6G4501310A1G5100103A5A9B23A5B31A3A5A9B41A3B51A3A4B99C401A3A4A6A9B10A1A3A5A7B20B34F600101A3A5A7A9B11A3A5A7B31A3A5A7A9B41A3A5A7A9B51A3A5A7A9B61A3A5A7A9B71F700101A3A5A7A8A9B11A3A5A7B20B31A2A3A5A7B41B52A3A5A6C200A1A2A3A4A8A9B10A1A2A3A4A5A6B50A1A2A3A4C401A2A3A4A5A6A7B10A1A2A3A4A5A6A7A8A9B21A2C500F800101B11A3A5A7B21B41A3A9B55B61A3B73A5B83B91C200B11A3A5A7A9B31A3A5A7A9B41B51C300A3A5A7A9B11A3B21A3A5A7B51C561A5A7A9B71A3A5D1153C291E10201E20203E86000A1A2A3A4G6200101A3A5A7B21A3A5B31F910000A1A2A3A4A5A6A8G7564005A6A7A8A9B10A4A5A6A7A8A9B20A3A4A5B31A7A9B42A7A8B51A4A6A7C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7C305A8A9B14A7B20A3A5A6A9B35A6B41A8A9B54A5C401A2A3A4A5A6A7A8A9B10A1A2A8A9B20A2A5A6A8B51A2A3A4A5A6C504A5A6A7A8A9B10A1A2A3A4A5A7A8B21A2A3A6A7A8A9B31A4A5A6B41A2A3A4A5A9B51A2A4A5A9B63A5A7A9B70C608A9B10A1A2A3A4A5C702B65B77C809B10A1A2A3A4A5A6A7A8A9B20A1A2A5A8A9B30A2A3A4A5A7A8A9B40A1A5A6A7A8A9B52A3C901A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B20A1E85003A4A5A7A8B12A4A5A6B20A1A2A3F900001A2A3A4A5A6A7A8B20A9B92A3A4A5A6A7A8A9C199D1001A2A3A4A5A6A7A8A9D2001A2A3E87091A2A5D9071G9100100A1A2B11A2B21A2B31A2B41A2B51A2B61A2B71A2B81A2B91A2C201A2B11A2B21A2D1001A6B16B21B31A6B41A6B56H40008450A5B63A5A9B71A3A5A7A9B81A3D9236A7A8B40A1A5C386B98C401B83A5C582C838C960B74A6A8B80A2A3A4A6A8B90A8E10000B48A9B52A4A6A8B60A2A4A6A8B70C138B40A3B64A8B70A2A4A8C206B42C392A4A5C491A3A5A9C507C608B39B41A3A7B54A6A8C832A4A6A8B40G210001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6B21A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A9B42A3A5A6A7A8A9B51C107B10A1A2A3A4A5B51A2A3A4A5A6A9B60A1A2A3A4A5A9D2009B14A7A8A9C201A2A3A4A5A6A7A8C300A1A2A3A4A5A6A7A8A9B11A2A3A4A5A6A7A8A9B20A1A3A4A5A6A7A8A9B30B41A4E23301A2A3A4A5A6A7A8A9B10A1E31000A1A2A3A4A5A6A7A8B10A1A2A3A5B20A1A2A9B30E41001A2A3A4B10A1E60600A1A2A3A4A5A6A7E95000A1A2A3F3700000A4A5A7A8B10A3A4A5A9G4000001A2A3A4A5A7A8A9B11A2A5A7A8A9B21A2A3A4A5A6A7A8B30A1A2C100A1A2A3D1001A2A3A4A5A6A7A8B13A4A5A6A7A8G5745901A2A3A4A5A6A7A8A9B10B21A2A3A4A5A6A7A8B30D6001A2A4A5A7A8A9B10A1A2B31A3A4A5A6A7C801A2A3A4A5A6A7A8A9B10A1A2A8A9B51A2A3A4A5A6A7A8A9B64A5A6A8B70A1A3C902E99901G7344555A6A8B60A3A4A5A6A7B79B80A1A2A3A4E64400A1A2A3A4A5A6A7A8A9B10A1A2F500501E30021A2A6A7B31A2A5B40A2A4A5A8B50B61A2C134A6A8B40A3A4A5A7B51A3A7A9B61E70003E80003C345E91001A2A3A4A5A6A7A8A9B10H50218101A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A9B50C201A2A3A4A5A6A7A8A9B10B20A1A2A3A4C305B10A5B20A5B30A5B40A5B50A5B60B70B80C480C505B10A5B20A5B30B75B80A5B90A5A9C605B10A5B20A5B30A5B75B80A5B90E20105D1105B10A5B20A5B30A5C200A5B10A5B20A5B30C310A5B20C410A5B20A5B35B40A5B50D2100G1414054A6B80D7000A1A2A3A5A8B10A3A5A8B20A5B30A5B50A2C185B90A5C200C666C999D9702A4A6A8B14A8B20E95002A7A8A9B10A2A3F500000E62801A2A3A4A5A6A7A8A9B10A1A2G2500000A1A2A4A6D6000A1A2A3A4A5A6A7A8A9B10A1A2A3A4B21A2A3A4A8A9B30A3A4A5A6A7B71A2A3A4A5A6A7E20000A1A2A3A4A5A6B10A1A2A3A4A6A7A8B20A1A2A4A5A6A8A9B30E80003G3700000A2A3A4A5A7A8A9D1001A2A4A5A6A7A8B10A1A2A3A6A9B20A1A4A7B30A1A2A3D2600D3001A2A3A4A5A6A7A8B13D5001A2A4A6A8A9B10A2A3B20A1A4D7001A2A3A4A5A7A8A9B12A3A4A5A6A7B20E11001A2A3A4A9B10A1A2A3A4A5A6A7A8D3001A3A5A7B10A1A3D5002A3A4A5A6B12A3A8D6002A3A6A7A8A9B12A4A5A6D8001A2A3A4A5A6A7B11A2A3A4A5A6A8A9B22A3A7A8A9B30D9001A2A3A5A6A7A8B11A2A3E21002A3A4A5A6A7A8A9B11A2A3A4A5D2001A2A3A4A5A6A7A9B10D4001A2A3A5D5001A2A3A4A5A6A8A9D6001A2A3A4A5A9B10A1A2A3A4A5A6A7D7001A3A4A5A6A7A8A9B10A1A5D8002A3A6A8A9B10A2A5A6A9B20D9002A8B11A3A5A6A7A8A9E31001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20D4001A2A3A4A5A6A8A9B10A1A2A3A4A5A6A8D6001A2A3A4A6A7A8A9B11A2A3A5A6E86002E96001A2A4A5A6A7A8B10A1A2A4A5A6A9B20A1A3A4A5A9B30A2A3A4A5A9B41A2A3A4A5A6A7A8A9B50A1A2A3A4A5A7A8A9B60A1A2A3A5A6A8A9B70A2D8001A2A3D9001A2A3A4A5B12A6A8A9B20A1A3B32A3A5A6A7A8A9B40A3A5A7A8B52A3A6A7A8A9B60A1A2A3B81A2A3A5A6A7B94A6A8A9C107B10A1A2A8B23A9B35A6A7A8A9B40A1A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A6A7A9B72A4A9B82A7A9B90A5C212A6A9B20A4A6A7A9B30A1A2A4A5A6A7A8B40A1A2A3A4A6A7A8B50A1A3A5A6A8A9B60A1A2A3A4A5A6A7A8A9B70H60000005B56A7A8A9B61A2A3A5A6A7A8A9B70A1A2A3A4A5A6A7A8A9B81A2A3A4A5C127A8A9B30A1B40D1099C100A8B13A5A6B24A7C228A9B30D2009B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4B47A8A9B50A1A2A3A4A5A6A7A8B62A3A4A5A6E18001A2A3A4A5A9B10A1A2A4A5F150501A2A3A4A5A6A7A8A9B18B25B33A4B40A5A7A8A9B50A1C601A2A3A4A5A6A7A8A9B41A2B98C721A2A3A4A6B98C801A2A3A4A5A6B10A1A2A3A5A7A9B22C901A2A3A4A5A6B31A2A3A4A6D1001A2A3A4A5A6B31A2A3A4C101A2A3A4A5A6A7A8B96A7A8A9C201A2A3A4A5A6B96A7A8A9C301A2A3A4A5B51A2A3A4A7C401A2A3A4A5B21A2A3C501A4B51A2A3A4C601A2A3A4A5A6B21A2A3A4C701A3A4A5A6A7A8A9B10A1B61A2A3A4A5C901A3A4A5A6A7A8A9B10D2001A2A3A4A5A9B10A1A2A3A4A5A6A7C301A2A3A4A5A6B21A2A3C601A2A3A4B10A1C701A2C811C901A2A3A4A5A6A7B13B21A2A3A4A5A6A7D3101A2A3A4A5D9901A2A3A4A5A9B10A1A2A4A5A6A9B23A4A5A7B32A6A9B42A3A4E72003G100000D9001E60001A2A3A4A5A6A7A8A9B10C501A2A3A4A5A6A8C601A2A3A4D1601F2500000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9D9998A9G4000008A9B15A7B28F800000B16B42A6A7A8A9B56B60A1A2A3A4A5A6A7A8B74B83A5B97C104A5A6A8A9B10A6A7A8A9B20A1A2A3A8B31A2A5A6A7A8A9B40A1A2A3A5B50A1A2A3A4A5B62A3A4A5A8B72A3B80A1A2A4E30500A1A3A4A6A7A9B10A1A2A4A5D1000A2A3A4A6B14A5A6A7A8A9B21A2C500A1A2A3A4A6A7A8B10A1A2A3D2000A1A2A4A5A7A8A9B10A1A2A3A4A6A7B25A6A7A8B30A1A2A3A5A6A7D3000A2A4A6A7A8B22A3A4A5D4000A2A4A6B11A3A4D5000A1A3A5A7A9B16A7A8D6000A4A6A8D7002A4A5A9B10A1A2A3A4A7A8B20A2A3A4A5A6E87000A1A2A5G5000064A5D1001A3A4A5A8B10A1A2A3A4A6A7A8A9B20A2A3A4A5A9B30A2A3A4A5B40A1A2A5A7A9E11001A2A3A4A5A6A7A8A9B22A6E20001A2A3A4A5A6A7A8B10A1A2A3A9B20A1A2A3A4A5A6B44A5A6A7A8A9B51A2A3A4A5A6A7A8A9B60A1A2A4A5A6A7A8A9B70A1A2A9B80A2A4A6A8B90A5A6A7A8A9C100A1A2A3A4A5A7A8A9B10A1A2A3A5A7A9B32A3A4A5A6A7A8A9B40A1A2A3A4A5A6B51A2A3A4A5A6A7A8A9B60A1A2A8A9B70A1A3A5A7A8A9B80A1A2A6A8A9B90A1A2A3A4C210A1A2A3A4A5A6B22A3A4A5A9B30A1A2A4A5A7A9B41A2A3A4A5A6A7A8A9B50A3E30006A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A7A8A9B33A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8B69B70A1A2A3A4A5A6A7A8A9B80A6A7A8A9B90C108A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4D1001A3A5A7A9B11A3A4A5E40001A2A3A4A5A6A7A8B18A9B20A1A2A3A4A5A7A8A9B30A1A2A4A8B40A3A4A5A6A8B50A1A2D7000A1A3A4A5A8A9B10A3A4B90A1E50001A2A3A4A5A6A7A8A9B10A1A3A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A9B51A3A5A7A9B65A7A8A9B70A1A3A5A7B91A2A3A4A5A6A7A9C101A2A4A5B13A4A5A6A7A8A9B20A1A3A5A7A9B31A9B41A2A3A4A5A6A7A8A9B51A3A5A7A9B76A7A8A9B81A3A5A7A9B91A3A5A7A9C211A2A3A4A5A6A7A8A9B20A1B31A2A3A4A5A8B41A4A7B50B63D2001A2A4A6A7A8A9B10A1A3A4A5A6A8A9C101A2A8B10A1A2A3A4A5A6A8A9B20C201A2A3A4A5A6A7A8A9B10A1A2A3A5A6A7A8A9B20A3C301A2A3A4A5A6A7B12A3A4A5A6A7A8C401A2A4A6A8B13A4A5A7C501A2A4A6A8B10A2A3A4D9999E60001A2A3A4A5A6B13A4A5A6A7A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A9B60A2E70009B10A1D1001A2A3A4A5A6B12A5A8B20A7B30A1A2A7B40A1A2A3A4A6A7A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A6A7A8A9B70A1A2A3A4A5A6B83A4A7A8A9B92A3A8A9C100A1A2A5A6A7A8A9B10B58A9D2000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2D3001D4000E80011A2A4A6B21B42A3A5A6A7A8A9B50A1A2A4A5A6A7A8B60A1A2A4A6A8B72A3E90001A3A5A7A9B11A3A5A7A9B21A3A5B58A9B61A2A3A4A5A6A7A8A9B70A1A2A3G6510003A4A5A7B14A5A6A7A8A9B21A2A5A6A7B36A8A9B40A2F660000A2A3A4A5A6A7A8A9B10A2A3A5A7A8A9B20A6A7A8A9B30A1F911000A1A2A3A4D4000A1A2A3A4A5A6A7A8A9B10A1A2D5001A2A3A4A5A8A9B10A1A2A3A4A5A7A8B21A3A5A7A8A9B30A2A4A6A7A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3B70A1A2A6A8A9B80A1A2A3A4A5G700000A1A2A4A5A7A9B11B25A7A8B30A1A2A3A4A6A7A9B42A4A6B50A2E200000A1A5A6A8A9B11A6A7A8A9B21A2A3A5A6A7B30A3A6A9B44A5A6A7A8C230A1A2A3A5A6A7A9B40A1A2B50A1A3A4A6A7A9B61A3A5A7A9B70A2A4A5A6A8A9B80A4A5A7B92A4A5A6A7A8C300A2A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7B48A9B50A1A2C400A2A4A6A8B10A2A4A6A8B20A1A2A3A4A5A6A9B30A2A5A6A7A8B51A5C533B51A2A4A5A7A8B61A2A7A9C600A1A2A3A4A5A6A7A8A9B11E10002A3C101A3A4A5A7E20003G9601001A2A3E22001B23E60000A1A3A5A6E90001A2A3A4A5A6D6006A7A8A9B12C601C906B10A3A5A6A7A9B20B31A3A4A5A6A7A8B41A2A3A4A7A8B51A2A3A4A5A6A7A8A9B60A1A3H70700001A2A3A4A5A6A7A8A9B10A1A2A3A4A5C101A2A3A5A6A8B10C201A5A9C301A2A3A6A7E19000A1A3A4A7A8B10A1A3G1000106A7A8A9B10A9B20A3A6A7A8A9B30A1A2A3A4A5A6F400001A2A4A5A6A7B13A4A5A6A7A8A9B20A1A3A5A6A7A9B31A2A3A4A5A6A7A8A9B41A2A4A7A9B52A3A4A5A6A7A8A9B61A2A4A6A7A9B70D1001A2A3A4A5A6A7D2000E37098A9G2402001A4A7D4101A3A7A9B19B21A3A5A7A9B31A3A5D9000A5B10A5B20A5B30A5B50A5B60A5B70A5B80A5B90C135B40B50A5B60A5B70A5B80A5C200E10060B70B80B90C180C220B30B40C380C420B30B40B50B60C610B40B50B60B70B80C700B10B20B60B70D1010B20B30B40B50B60B70B80B90C100B10B20C210B20B30B40B50B60B70B80B90C300B10B30B40B60B80C400B20B30B50B70C520B30A1B50B60B70B90C600B10B20B30C730A1B40B50B60B70D2110B20B30B50B60B70B80B90C200B10B20B30B40B50B60C330B50C440B50B60B80B90C500B10B20B40B60B70D3150B60B70C510C700B10E21020B30B40B50C510B30B40E76000A2A3A4E99000B10F900000A1A2A3A6A7A9B11A2A6A7A8B20A1A2A3A4A5A7A8A9B31A4A5A7A8A9B41A2A4A6A7A8A9B50A2A4A8B60A1C300A1A2A3A4A5A6A7A8A9B10E79200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B20A1A2A3A4A5A6A7A8A9B31G3810002A3A4A7A8A9B10A2A4A7A8G5121652D2916D3615D4532A3A4A6A7A8A9B42B70C601A2A3A4C986D5434B56D6263D8967F640000B50A1A2A3A4A6A7D1000A1A2A3A4A5A6D2001D6000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5B20A1A2A3A7A8C131A2A7A8B50A1A2A3A4A5A6A7A8A9B64A5A6A8A9B70A4A5A6A9B80A1A2A3A6A7A8A9B90A1A3A4A7A8A9C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5B50A1A2A3A4A5A7A8A9B60A1A2A3A4A5A6A7A8A9B70C300A1A2A3A4A6A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A8A9B30A1A2A3C401A2A3A5A6A8B10A2A3A5A6A8B20A2A3A4A5B52A4A5A6A9B60A2A4A5A6A7A8A9B70A1C507B10A5B21B39B40A1A2A3A4A6A7A9B51A2A3B60A1A2A5A8C600A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7B21A7A8B30C700A1A5A6A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5C801B50A1A3C900A1A2A3A5A6A7B10A3A4A5B50A1A3A4A5A7A8A9B60A1A3A4A5A7A8A9B70A1A3E79000A1B72A4G6900000A1A2A3A4A7A8B10A2E10001A2A3A5A6A7A9G7000101A2A3A4A5A9B10A2A3A4A5A6A7A8A9B21B32A5C501A2A3A4A5B12A3A5A6A7A8B26A7A8A9C700A1A2A3A4A5A6A7D1507A8A9B10A1D2100A1A2A3A4C900A1A2B10B20A1A2F700000C341D2003A4A5A7A8A9B10A1D5263A4D7002A3A6A7B10A1A4A9B22A4A5A6A7A8B31A7B44A5A7A8B52A7B66A7A8A9B80C701A2A3A4A5A6A7D9000A1A2A3A4A5A6A7A8A9E25300A1A2A3A4A5A6A7A8A9B10D9300E32113E57301A2E84203E90000A1A2A3G8020000B10B20B30B40B50B60C200D1001H81000000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5D3000A1A2A3A4A5A6A7A8B13A4A5A6A7A8B21A3A4A5A6A7A8B31A2A4A5A8A9B40A1A2A3A4C100D4000A1A2A3A4A5A7A8A9B10A1A2A3A4A5C100A1A2A3A4A5A6C200A1A2A3A4A5A6C300A1A2A3A4A5D6010B70A1A2B90A1A2A3D8000A1A2A3A4A5A9B11A4A5A6A7A9B70A1A2A3A4A5A6D9000A3A5A6A7A8A9B10A1A2A3A5A6A7A8A9B20A1A2A7C988E10000A1A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B21A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6D1000A3A5A6A7B10D2000A1A2A3A4A6A7B10A2A4A5A6B20A1A2A3A4A9B30A1A2A3A4A5A6A7B40A1A2A3A4A5A6A7A8A9B51A2A4A6A7A8A9B60A1A2A5A6A7A9B70A2A3A5A7A8A9B80A2A3A4A5A8D4000A1A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1D5000A1A2A3A4A5A6A7B10A2A3A4A5A7A8A9B20A2A3A7A8A9B32A3A4A5A8A9B43A4A5A6A8A9B51A2A3A5A7A8A9B60A1A2A3A4A6A7A8B70A2A4A5D8000A1A2A3A6A7A8A9B10A1A2A3A4A5A6A7A8B21A2A3A4A5A6A8A9B30A1A2A3A4A5A6A9B41A2A3A4A5A6A7A9B50A2A3A4A5A7A8A9B60A1A2A3A5A7A8E20001A7A8D1000A1A2A3A4A6A7A8A9B10A1A2A3A4A5A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2D2000A1A3A4B11A2A3A4A5A6A7A8A9B20A1A4A6A8A9B31A3A5A6A7A8A9B40A3A4A7A8A9B50A1A4A5A6A8A9D4000A1A2A3A4A5A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5B31A2A3A4A5A7A8B41A2A3D6000A1A2A3A4A5A6A7B70A1A2D7000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9D8001A2A3A5A6B10A1A2A4A5A6A9B21A4A5A6A8A9B30D9000A1A2A4A5A6A7A8A9B10A2A6A7A8A9B21A2A3A4A5A6A7A9E34001A2A3A5A6A7A8A9B10A1A2A5A6A7A8A9B23A4A5A6A7B30A3A4A5A8A9B40A1A2A6A8B52D8000A1A2A3A4A5A6A7A8A9B10A1A8A9B20A1A2A3A4A5A7A8E40000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A2A3A4A5A6A8A9B40A1A2A3A4A5A6A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A4A5A6A7A8A9D1000A1A2A3A4A5A7A8B10A1A2A3A4A5A6A7A8A9B20A1A2A3A5A8A9B30A3A4A5A8B41A2A3A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8D2000A1A2A3A4A6A7A9B10A1A2A3A4A5A7A9D6004A5A7B14B30A1A2A3A4A5A6A7A8A9B40A4D9000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7B90A1A2A3A4E50000A1A2A6A7B50A3B71A2D1000A2A3A4A5A6A7A8D2000A1A2A3A4D7003A4A5A6A7A8A9E66014A6A7A8B27B32A3A4E72001A2A3A4A9D8000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B94A5A6A7A8A9F610002A4A5A7B15A6A7A9B25A6A7A8A9B30A1A7A8A9B40A2A3F901001A5A6A7A8A9B10A2A3A5A6A9B20A1A3A4A7A8B61E80001G209709B10A1A2A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B33F3250000A7B21A2A3A4A5A6G5400000A5B10A5B20A5A6B30A5B50B60A5A6B70A1A5A6B99D1200C300C420B40B60B80C500C630B60C700C830B60B90D2000B20C100B10B20C200B10B20C300B10B30C400B90E81000A1C900B95A6A7A8A9G8177001A2A3A4A5A6A7A8A9B10A1A6A7A8A9B20A1A2A4A6A7F800001A2A3A4A5A6A7A8A9E80000A1A2A3A4A5A7C120A1C223A7B30D8266F946420A5A6A7A8H92361300C438D2222D9002A3A4A5B10A3A5A6A7A8A9B20A1A2A3A4A6A7A8A9B30A1A2A3A4A5A6A9B40A1A2A3A4A5A6A7A8A9B50B63A4A5A6A7A8B70A1A2A3A4A5A6A7A8A9B80A1C666C777C888F403111F900001A2A3A4A5A6A7A8A9B11A2A3A4A5A6A7A8A9B20A2A3A4A5A6A7A8G300002A3A4B10A1A2A4A5A6E10000A1A2A3A5A7B10A4A9B20A2A4A7B30A3A5A7B40A2A3A5A6A7A9B50A1A3A5A7B64A6A8E20000A5A8B10C233E30001A2A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1C503A7B11E60004B18A9E90000A1A3A4A5A7A8B11A3A4A7A8A9B20A2D9300C400B98C500C605B99F6001001A2A3A4A5A6A8B61A2A3A4E10001B11B41B71B91C101D1001B11B31B41B51B61D2001B11B21B31B51B61C101B11E20001A4E30005A6A7A8B11B37B43A4A9B51A3A4G8600003A4A5D9000A1A4A8A9B10A1A2E10001A2A3A4A5A6B10A1A2E22201A2A3D5002A3A4A5A7A8D6801A2A3A4A5A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4C900A2A3A4A5A6A7A8A9B10A1A3A4E30004A5E46200A1A2A3E50000D7300A1A2A3A4A5A6A7A8B16A7A8B21A4C401A2A3A4A5A6B10A1A2A3E69606A7A8A9B19E73201A2A3A4A5B10A1A2A3A4E93600B16F800000A1A2A3A4A5A6A8A9B10A1B20C200A1A2A3A9B10A1A2A3A4A5F910501A2A3A4A5A6A7A8A9B10A1A2A3A4A5G910052A7A9B66B72A5A8B80A1A3A4A5A6A8B90C209B12A3A4A5A6A7B22A3A4B33A4A5A6A7A9B51A3A5A6B60A1A2A3A4A5A6A8A9B76A9B82A5A9B90A1A2A3A5A7C305A7B10A3A6A8B20A2A5A7B30A2A4A6A9B41A5A6B52A4B62A3A5A6A8A9B71A2A3A5A6A8A9B80A1A2A3A4A5A6B91A2A3C451A2A3A4A5A6A8A9B60A2A4A5A7A9B70C501A3A4A5A7A9B10A1A2A4A5A7A9B20A1A2A5A6A7A9B30A2C649B52A4B66C803A5A7B10A1A2A6A9G"
this.Extra="1000361A2A3A4B70A1A5A6A7C427C607B10A1A2A3A4A5A7B23A4A5A6C802A3B11A3D3000A1A2A3A71A5B9B101B11B2A3B23D50011B31B41B51B61B71E60005C126E70002A4A5A6A7A8B8B12A4A6A7C1011B21B31B41C111B21B31B41C321E8010A1B32A3D90051A5B61A5C11A2A3A4A6A7B24A5A6A7A8A9B38E113037B69E51005D8000A3A4A6A7B10E71007A8A9B10A1A7B22A4D4010B59B64F200855E20015D1015D2015B25B35B45F60000A1E700071A5B81B91C101B11B21C201B21D1101B11B41C211B41D2081B91C101B11B21A2B71B91C201A2D3031B51E10031F900014B47A9D1014D2007A9B12C104A5A6A7A8D4011A2A5A6A9B20A4A5B31A2D5008A9B11D6007A8A9B10A5D7006D8005A6A8D9003B12A3A8E10009B11E20006A7E40006E69990A1A3A6A7E70008B11C912E83000A2A4A5G100001D2009B10A1A2A3A5A7A9B21E1006B111A2A3A4A5B21A2A3A4B31A2B5A61A2A4B7C13003A4B24B35A6B40C125B42A3A4A5A6A7A9B50B70A7D5002A8B11A4A7A8A9B20E2104A5C204E3009B10A1C220A3A4D40011B3A4A5A6A7B20A1A2B30A1A2C1021D51419B36A7A8A9B40B56B91C566C728A9B30E6016A8B20E500006A8A9B27C2A3A4A5A7A8B10A1A6C4005D6001A2A3A5A8A9B10A2A3A5A6A7A8A9B20A1A2A3A4A5A6C605A6A7A8A9B11A2C902D7001A2A5C251C501E60006C201A3E75110A1A2A3A4E800006A7A8B10A7A8A9B20A1A2A3A6A7A8A9B68A9B70E2011A2A3D4015B22B31B41B51A2C103D86002A3F9002A9C5011D7101A2A3A4A5B52D9001F2000520A5D1021A2A3A4A5D2520A1A2A3D3003A5B10A2A6A7A9B24A5A8D4020A1A2A3A5A6D5010A1A2A3A5A6D6008B18D7040D8008A9B12A7A8A9B20A5B33A5D9041A6B57A8B62E10041A2A3A4A5A6A7A8B50A1A3A5A6D1020A1A2A4A5A9D3003A4A6A7B13A4B20A1B56D4020D5010A1B21A2A3A4A5A6B31D6010A1A2A3A5D7011D8004D9030A1B50A1E24020A1D5010A1D6030A1A2A3A4D8010A1A2A5D9002A5A7A8B12A6B27B31A4C401E30010A1A2B21A2D1000B10A1A2A3D2020A1A2A3A4D3003A4A5B14D4010A1A2A3A4B20D5010A1A5D6020A1D7011A2A3A4D8010A1A2A3A4A5D9060A1A3E40010A1A2A3A5B50A1D1001A2A3A5D2030A1A2D3030A1B70A1D4001A3B51A2A3D5030A1D7010A1A2A3A4A5B20D8031A5E50020A1A2D1020A1A3D3010D4000A8B60A1D6020A1A2D8020A1A2A3D9010A1B31E60012A6D1010A1D3020A1D4010D5002B70A1D6010A1A2A5D8015A6D9010A1A2E70011A2B46A7B60A1A2E80030A1A2B53D3020A1D4010A1B70A1D6005D7003B55D8030D9040E90060A1B96A7D4020D8000A1A5A6A7B11A2A3A5A6A7A8B20F400001A2A6A8B15F800000A6D8222A3A4A5A9C331C652E12005E22697D5602A3A4A5A6E47002A5A6E72491E92007A8A9B10A1A2A3D5011A2D9011A2A5G3254037B68B74D7202A4A5A6B16A9B20A1A3A4B32A9B40A2A9C307A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4B45A6A7A8A9B51F900000G4140001A4A5A6A8B11A2A5A6A7B20D2010E75001A4A5F700006A7A8A9B21B30A1A2C101B23C233D2000E90007B25A6F800109B92C582C607B96A8C778D1726A7A8B30B48B55G5000044A5A8A9B55A6A7A8C187C254A5A6A7A8A9B60C337A8A9B40A1A7A8A9B55A7A9B97A8C420A1A2C540A4A6C625B30B70C701A2A3A9B30A2B70A2B91A3A5A7A9C809B82C907A8A9B35A6A7A8D3023D4012B28C200A1A4B93C381A2A3A4A5A6E70000A3A6A7B10A1F873622A3A4A5A6A7A8A9B30A2B41G6101035B49B76A7C141B85D4214A6A9B38B40C414A7A8A9B20A1A5A7B36A7D7106A7A8B15A6A8A9B20E10026B33A4A7D4205B17B25A9B30A1A2A3A4A6A7A9B41A6A7A9B53A5A6A7A8A9D7101A4E20000A1A2A4A6A9B11A2E30001A3A4A5A7B12A3A4E40003E50009B13A7A8B32D1001E60009B11A2E72014A8B27F232000A6A7A8B16A8F400010A1A2A3A4A5A6A7B74A5A6A7A8A9B80A8B90A1G70006C20030C200A1C300C400B30C510D9130E30650C700C860C910B60B80D1000A1A2B60C100A1B40B50B60D2000A1C310B20B40B50B60C400B10B20B30B40B50B60B70B80B90C650B80C790C810B30C940B80D3010B20A1D5000C110A1A2A3B50B60B70B80C300B30B40C470C600B10E55040B60E60940D1010B20B40A1A2B60B70B90C240B50B60C330C410B70C640C900B70A1B90D2090E93006G8001001A6A7A8D3011A2A3A4A5D4008B10A1A3A4A6A7D7006A7A8A9B10D8005A6A7A8D9001A3A5A7A9E10005A6D6014A5A6A7D9005B25A6A7A8E20009B10B55A6A7A8A9B60D1004A5A6B13A4D3002A3A7A8B11A2D4001A7B10E86000F9119E9500002A3A8B25A8A9B35A6A8B43C170B90C200B10B40B50H20000056A8B75C111A2A3A4A8C315C509B16A7B21A2A3A4B58F100210A2A4A6A8B21B31C356A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5A6A7A8A9B80A1A2A3A4A5A6A7A8A9B90A1A2A3A4A5A6E23000A1A2A4A5B12G1310003B11F520081A2A3A4A5A6A7A8A9B90A3A4C157A8A9B60B71A2A3A4A5B82A3B97A8A9C200B11A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8E60000A1A3G3000101A2A3A4C303A4A5A8A9B19B21B50C500B10B20B30B40B50B60B70B80C630B40B50A5B65B75D1006A7D3011A2A3A4A5A6A7C120A5D4001A8A9B10E62000A1A2B14A5A8B21A2A5F100004A5A8A9B16A7B20B34A5B44G4100010A5A6A7A8A9B20A1A2A4A7F300019B90A2A4F562458A9B61A3A7A9B72A4A6A7A8B82F865320A3B32G5750000A1A2A3A4F810041B51B61B71B81B91C191C211B21G6100008A9F640009B17A8B20A1A2A4A5H30000440C505C620A5B50A5D3035B45B55D5016B25B35B60B70A5B85C120A5B30B45B50A5B80A5C200D7110D8806E52004A7B12B70F553110C215A7B53A8C304A7D6006A7A8A9B10D8007F600002A3A4A5A6A7A8A9B10A2A5B20A5E14514E39999E66661A2A6B70A5B80A5B90A5C700B10A5B20A5E77777E81011A5B20A5B30A5B40D3100A5B10C200A5C300A5B10C400A5B10A5B20A5F700001A2A3A4B17A8A9B20A1A4B37B46C100A1A2A3E22000A1A2F900000A7B13B20A3A4C306A7B13C506A7A8A9B10A9C607C704A5A6A7D1007A8A9B16G1200000F300000A7B14G3200006B11A8B20A5A6A7A9B30A1A2B40A1B51A4A5A6A7B73A5A6C105A8A9B14C259C512B28A9C656A8B60A2C726A8B30A2A4A7B42C803C902B14A5B60D1016A7A8B53A7B62A5A7B70C105A6B50A3A5A6B60C202A9B58A9B60A1A2A3C307B11A2E66001A2F300155C301A5A6B51A2E10010A1A2A3A4B20A1A2A9B30A1C158A9B60A1C209B10A1A2A3C507B11C605E30009B10A1A2A3A4A6A7A8B33A6B41A2A9B56B60B72A3B83A6B92A3A5A6A7A8A9C101A2A3A4A5A6A7A8A9B10B54B61A7A9B78C206A7A8B10B31C300B19B20C410A3C603A4A5A6D1106A7A8A9C557A9B60C807B12C900D2000C100D9003A4B21A3A5A7E40009B10E50011A3E74565E80000A1A2A3A4D1000A1A2A3A4A5A7A8B10A2A3A5A6A8A9B20A1A2F400006A7A8A9B10A1A2A3A4A5B20B33A5C206A7A8A9B20C303A4A5A6B13A4A5A6B29C403A6A7A8A9B10A1A6A7B25A6B32A5A6A7C509B10A1A2A3A4A5A6A7A8B24A6C607A8A9B10A1A2A7B36C706A7A8A9B10B47C809B10A1A2A3A4A5A8C906A7A8A9B10B39D1006A7A8A9B10A1B35C307A8A9B13C606A7A8A9B10A1A2A3B20B55A6A7A8A9B61E76000A2F500006A7A8A9B10A3A4A5A6B41B51A2A3A4A5C205B11A2A4A5C305A7A8A9B10A1C407A8A9C559B69C805A6A7A8C933B83D1035B91C205B56A8C307A8A9D2009C406A7C703B22C916D3121C204B12C503A8A9C605B15E85001A8A9B10A3A4A5A7B25A7F700004A5A6B23A8B33A6B51B82A3A4A5A6C104A5B29B30A4A7B40B68B71A2A3A9B82A3A4A5A8B94A7C200A3C307A8B10A1A2A3B34A5A6A7B44A5A6A7A8A9B50A1A2A3A4A5A6A7A9B60A7B72A3A4A8B84A5A6A7A8C412A3A6A8A9B27A8C707A8A9B10A1A2B28A9B30A1A7B70A1A2A3A4A5A6A7B84A5A6A7A8A9C800A1C917B35A7A8A9B40A1A3A8A9B66B99D1000A1A2A9B17A8A9B20B60A1A2A3A4A5B71A2C100A1A2A3A4A5A6A7A8A9B10A1A2B22C323A4B46A7A8A9B52A3A7B76A9B82B94C403B14A8A9B20A9B49B50A1A2A3A4A5A6C526A7A8D9001A2E10908B11A2A5A6A7A8B22A8D1001A3A9C102A3A4A5B13A4A5A7C402A7E20003B12A4B29B30B49B56A7B65E30002A8B30A1B71B98A9C100A1A2A3E77003A4A5A9B15G5100101A7B11A3A5A7A9B21A7A9B37B49B56C407B21A4F700121A3A5B46A7B51C205A6A7B17C501A2A3A4A5A6A7A8F800131A3A5A7A9B51A3A7A9B71A7A9C221A3B91C301B15B53B81C563D1101A3A5A7B51G6200111A3A5A7G7564001A2A3A4B11A2A3B21A2A6A7A8A9B30A2A4A5A6B41A3A4A5A6A9B50A2A3A5A8C302A3A4B10A3A5A6B31A2A3A4A7A9B44A5A6A7B50A1A3C400B13A4A5A6A7B21A3A4A7A9B30A1A2B57A8A9C501A2A3B16A9B20A4A5B30A2A3A7A9B40A6A7A8B50A3A6A7A8B60A1A2A4A6A8C601A2A3A4A5A6A7B16C801A2A3A4A5A6A7A8B23A4A6A7B36B42A3A4B50A1C919E85000A1A2A6A9B10A1A3A7A8A9B24F900011A2A3A4A5A6A7B30A1A2A3C999D1010A1A2A3D2000E87093A6D9070G9101011B26B51H40008453A7A8B60A1A7D9007C242A3A4C488A9C528B30B45C966A8A9B70A2A5B96E10146B58A9B81A4C266C434B97C501A3A5A6C637B45C826A8B30G210017A8A9B20B37A8B44C101A2A3A4A5A6B57A8B67A8D2114A7A8A9C211C310B31A4E31009B14B23A4A5A6A7A8E95004A5F3700001A2A3A6A9B12A6A7A8B20G4000006B10A3A6B29D1009B10A1A2G5700001A2A3E45911A2A3A4A5A6A7A9B29B99D6000A3A6B15A7A8A9B20C813B31A2A3A4A5A6A7A8A9C901A5G7114000F344557A9B61A2A8A9B70A1B90F500503A5A7E30001A2A3A4A5A6A7A8A9B12A3A5A6A7A8A9B20A3A4A5B30B51A2A3A4A8A9B67B72A3B93A6C100A1A3A4A5A6A7A8A9B11A2A3A4B30A1A2A3B48A9B63A5A7A8A9B70A1C782C962D1962D5000B20D9500E70001E80001A5E91200B99C477C533C666C788C822B55C911D4444H50218211A2A3A4A5A6A7A8A9C365C410B20B30B40B50B60B70C535B40A5B50A5B60A5B70C640A5B50A5B60A5B70E20110A5B20A5B30A5D1305C430G1414050A2D7105B10A5B20A5D9710A2A6E95000A1A3A4A5A6B11G2500003A5D6015A6A7A8A9B20A5A6A7B31A2E20007A8A9B15A9B23A7E80000A1A2A4G3700006D1003A9B15B25A6B34D3009B10A1A2A4D5003A5A7B18B22A3D7006B10A1A9E11005A6A7A8D3002A4A6A8A9B12A5D5001A8A9B10A1A4A5A6A7D6001A4A5B10A1A3D8008A9B10B20A1A4A5A6D9004A9B10E21001B10D2008D4004D6006A7A8B18D7002B12A3A4D8001A4A5A7B11A3A4A7A8B21D9001A3A5A6A7A9B10A2A4B26B31A5A7A9E34007D6005B10A4E86000A1E96003B17A8B22A6A8B31A6A7A8B40B64D9017B41B68B71A2A4A5A6C124A8B30B42B65A8B70A3B81A8B92A3A6A7A8A9C201A2A3A4A5A6A7A8A9B10A1A3A4A5A7A8B21A2A3A5A8B33A9B45A9H60000007B55B60A4B86D1094C231A2D2059B60A1E18000A6A7A8B13F150510A1A3A4A5A6A9B20A2B30A5A6A7A8B41A2A3A4A6C610A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6B31C731A2A3A4A6C807A8A9B14A6A8B20A1C917A8A9B20D1011A2A3A5A6A7C121A3A4A5A7A8C321A2A3A4A8A9C411A2C502A3C611A2A3A4A5C731A2A3A4A6A7A8C902D2311A2A3A4A5A6C605A6A7A8A9C801A2A3D9906A7B17A8B21B31A3A7B41A5E72000A1A2G102000D3000E60201A2C301A2A3C401A2A3A4A5D1202C301C401F4800015A7A8A9B20A1A2A3A4A5A6B43A4A5B50A1A2A3A4A5A7A8A9B80A1A2A4A7A8A9B95A6A8A9C100A1A2A3B11A3A4A5B24A5A6A7A9B30A3A4B46A7A8B56A7A8A9B60A9B70A1A9B83A5A6A7E10000E31007A8A9B10A2A3D2018A9B21A3A4D3009B11A3A5A7A9B20A1D4007A8B10D5010A2A3A4A5D6002B11D7000A1A6A7A8B15A6B21A7E87003A4A6A7B90G5001006B15B27B37A8B43A4A6A8E11010A1A2A3A4A6A9B23A4A5A7E20009B14A5A6A7A8B50B63B73A4A5A6A7A8B92A3A4C106B21A2A3A4A5A6A7A8A9B30A1B47A8A9B50B63A4A5A6A7B83A4A5C217A8A9B20A1A6A7A8B33B51A2E30001A2A3A4A5B25A6B59B60A1A2A3A4A5A6A7A8B81A2A3A4A5C107E40009B10A1A2A3A4A5A6A7B26B33B41A2D7002A6A7B11A2E50014A5A6B61A2A3A4B79B81A3A5A7A8A9C106A8B10A2B32A4A6A8B61A2A4A6A8A9B70A2A3A4C200A2A4A6A8A9B22A3A4A5A6A7A8A9B30B53A5A7A9B61A2D2104A5A6A7C214B22C308A9B10A1C410A1A2A8C515E60007A8A9B10A1A2A8B38E73002A3A4A5E80018A9B41A4B53A9B70A1E90002A4A6A8B10A2A4A6A8B20A2A4A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7D1001A2G6510001A8B10A2A3B20A9B30A1A2A3A5B50B60F660001B11A4A6B21A2A3A4A5F914013D5000A6A7B16A9B20A2A4A6B31A3A5A8B66A7A8A9B73A4A5A7G700012A3A4A5A6A7A9B21A3A4B40A8A9E200002A4B14B20A4B31A2A4A5A7A8B41A3C160A2C268B71A7B82A6A9B91A9C338B53A4A5C403B34B49B50A2C532B50A3A6B60A4A5A6C610E10102A6A8G9622021A2E60002A4E96005B10A1C901A3A4A8B18B21A3B32B45A6B50B62H70700213E19002A5A6A9B12G1000121A2F400008A9B10A1A2B22A4A8B30B40A3A5A6A8B60A8D1008A9D2001A3A4E37000A1A2A3A4A5A6A7G2402010A3A6D4137A9B43D9105B10E10050C100B10B20B30B40B50B90C390C400B10C730B40B50B80D1130B40B50A2A3B60B70B80B90A1C200C350B70B90C410B40B60B90C500B10B80C800D2010A1B20C140C340C470C530B50B80B90C790C800D3410B40B50B60B70E21340E76001F900010A3A4B43A5C311E79219G3810001A5B11A3A5A6A9G5122544D4521B35B40A1A3A4C665B89C703B25D6432F640055D1008A9B11A2A3D2000A3D6024A5B50A1A2A3A4A5A6A7A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5C123B35C305A7B27C400A4A7A9B14A7A9B21A6B50A1A3A7A8B61A3C500A2A6A8A9B11A2A6A7A8A9B22A8B32A4A5A6A7A8B45A8B50A4A5B64A7C618A9B20A3A4A5A6A9C707B32B44C800B52A4C904A8A9B11A2B52A6B62B72A4E79002A3B71A3A5B90G6900005A6A9B11A3E10004A8B10A1A2A3G7000106A7A8B11B30A1A3A4C506A8A9B10A1A9B20A1A2A3A4A5C708A9B10A1A2A3D2150C930A1F707029B43B70E25299E77777G8020100B20B30D1000H81003009B10A1A2A9B20A2A9B30A3A6A7D4006D6000A1A2A3A4A5A6A7A8A9B11A2A3D8006A7A8B10A2A3A8D9001A2A4B14B23A4A5A6A8C900A1A2A3A4A5A6A7A8A9B10A1A2A3A4B91A2A3A4A5A6A7A8A9E11001A2A4A8A9B11A2A3C101A2A3A4A5D2005A8A9B11A3A7A8A9B25A6A7A8B38A9B50A3A5B63A4A8B71A4A6B81A6A7D4005D5008A9B11A6B21A4A5A6B30A1A6A7B40A1A2A7B50A4A6B65A9B71A3D8004A5B19B20A7B37A8B40A8B51A6B64A6E20000A2A3A6D1005B16B33A4D2010B25B32B41A2A5B52A3A7B60D4006A7B26A7A8A9B30A6A9B40D8000A4A7A8A9B13A7A8B20A2A3A7D9003B11A3A4A5B20A8E34004B13A4B20A1A2A8A9B31A2A6A7B43A4A5A7A9B50A1D8012A3A4A5A6A7B26E40031A7B47D1006A9B24A6A7B31A2A6A7A9B40A4D2008B16A8D6001A2A3A6A8A9B10A1A2A3A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B41A2A3A5A6A7A8A9B50E50003A4A5A8B51A2D1001A9D7000A1A2E66000A1A2A3A4A5A6A7A8A9B10A1A2A3A5A9B20A1A2A3A4A5A6A8A9B30A1E72000A5A6A7A8B10E99999F610001A9B11A3B21A2A3A4B32A3A6B41F901011A4A7A8B22B33A6B52A8D2020B63E80000G209701A2A3A4A5A6A7A8B13B30A1A2A4A5A6F3250017G5400055D1800D2430B60E81002A3A4A5A6A7A8A9G8177102A3A4A6A7A9F880006A9C111C210A2A3D8211B44B55B77F946421A2A3H92361301A2A3A4A5A6A7A8D9006A9B37A8B51A2A3A4A5A6A7A8A9B60A1A2A9B82F403051A3A5A7F900010B21A9G300017E10016A7B21A3A9B38A9B41B52A4A8A9B70E20002A4A6A9E30003A4A5E90002A6A9B10A2A5A6B21D9419B20F6001007B60A5A6E10021B31B51B61C111B21D1021B71B81D2041B71B81B91E20002A3E30002A3A4A9B10B30A1A2A3A4A5B41A2A5A6A7A8B52A5A6E88000A1G8600001A2A6A7A8B11A2D9002A3A5A6A7E10007A8E25000A1A6A9D6800A6B99C901B12E30000A1A2A3E46204E57309B10A1A2A3A4A5A9B20A2A3A5C407A8A9B14A5D9000A3A6A9E73206A7A8A9E93601A4F800012A3A4A5A6A7A8A9C204A5A6A7A8G910056B60A7B70A1A7C200A1A2A4A7A8B11B20A5A6A8B30A2A8B41A6B78B81A4A8B94C300A1A2B14A5B24A9B37C457B61A3C518B91C632B46C808B13A5E66000A1A2G"
this.BlackList="1110000C198E4026D5014A5A7A8D84009F2029400A1G3959980A1A2A3B95A8G4000000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20F701000F898067G5000780F46124G20000100B23F100000C301A2A3A5A6A7A9B10A1A3A4A5A7A8A9B21A2A3A5A6A7A9B30A1A3A4A5A7A8A9B41A2A3A5A6A7A9B50A1A3A4A5A7A8A9B61A2A3A5A6A7A9B70A1A3A4A5A7A8A9B81A2A3A5A6A7A9B90A1A3A4A5C417A9B21A3A5A7A9B31F721929G1844577G3995347A8G4433921H31122091G2012842G3200437G6910008H41462084G3892409G5231178G7530144G9791928H53725001A2A3A4G8932616H60000005G150045F4335805F837009B14G5020223A4A5B32G9140099H71000106H82204252G7322378H91152257A8F998120A1G7590748G8502114A5H"
this.BanList="1000410A2A3A9B20A2C613C817D3006D44001B11B51C101E50001A5B11B21B31B41B51B61B71B81B91C101B11E60001A5C126E7000A1C1131B41C202A3B31B91E8022A3D90065C10A5B36E113037B67E58000A3A4A6A7A9B10A1A2E71007A9B10A1A7A8B20A2A3A4D4010B64F200090A9C520C855E20042D1022F700221D1141B71F901000A1A2A3A4A6A8A9B10A2A3D2100A1D4006A7A8B10A8B27A9B33A4A5D5008B11D6015D8090D9000A4A7E10011E70006A7B10G102002A7A8A9B10A3A5A6A7B20A1B80A1A2A3A4A6A8E10000A1A2A3A4A5A6B10AA2A8A9B10A11A2A4A5AA21A2A3A4AA31A2AA41A2AA51AA61B98D1001A2A3A4A5A9B25A6A9B31A2A6B41B90C201A2A3B21A2A3A4C3004B1B127B31A3A5B42A3A4A5A6A7A9B50D401A3C501A2B11D2102A3A4A5C201E2003A5C311D3000A1A2A3A4A5A6A7A8A9B10A1B59C217B24D40001B11C101B21C204B4A6B34A5C1001A2A4B21C101A3C201C701A2D500B1406B16A7A8B25B61B95C500B28B50F5001A28AA36B40B5A6B10C6003E60023A5E70005B11D1013D5101A2A3A4B10E800016B26A7A8A9B54A5A7A9B64E2001D4015B81E9001A3A4A7B16C1003D7101A2A3A4A5B11A2A3B20B52F2004023D5039D7000A1B10A1B20A1A2A5A6B30A1A2B40A1B99D8006B25D9045E10050D1015D3020A1D4000B15D5010B30D6020A3A4D7020D9060E26016B27B40A1D8001A3B20D9011A9B20B34A6B43C400A1E30000A2A3A4A5A9B10A2B20A1A2D1006A7B11A3D6000A2B11B20A1D8001D9001A2A3A4A5A6A7A8A9B10B50A1A2A3E40001A2A3A4A5A6A7A8A9B10A1A2A3B50A1B60B70D3050A1A2A4A5B60A1A2B70A1B80A1D4040A1A2A3A4D7000A3B11A2A3D8005A6B18B20A1A2A3A4A5A6A7A8B30A1A2A3B40A8E50010A1A2B21D1010A1A2A3B20A1A3B31E60012A6D2000B11A2A3B20B30B40B50B60B80D4005A6D5000A1A2A3B11A2A3A4D6000A1A2A3B10A1A2B20A1A2A3D8003A4A5A6B11A5A6D9001A2A3A4A5A6B10A1A2E70031A3A4A6A7A8E86000A1A2A3A4A5D7001A2A4A5B50A1A2A3A5B60A1A2A3D9007A8B30A1A2A3A4A5A6E90050B71B83B90A1A2A3A4A5A6A7D4020D8012A3A6B72A3F300115D1016F800000A4A5A6E12008E22697E47039E52003A4A8E99013G3254031A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B72A3A4D5408D7201A2A4A5A6A7A9B16A7A9B20A1A2A3A4B31A2A9B40A2A9B50A5C307A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A8A9B33A4A5A6B45A6A7A8A9B51B63A4G4000000A1A2A3A4A5A6A7A8A9B10A1A2A3A5A7A8B20B55A6A7A8A9B60A1A2A3A4A5A6B97A8A9C100A3A5A6A7A8A9B10B30A1A2A3A4A5A6A7A8A9B40A1A5A6A7A8A9B50A1A2A3C301A2A6A7B51A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2C451A2A3A4A5A6A7A8A9B60A1C501A2A3A4A5A6A9B10A1A2B34A7A8A9B57A8A9B60A1A2A3C603A4A6A8C781A2A3A4A5A6A7A8A9D1051E10145C244F141001A2A3A4A5A6A7A8E75002A8A9F700000A6A7A8A9B30A2B55A6C107E90002A3A4A5A6A7A8B22A3F801731A2G5000114C257C351A2A7B61C420A1A2C549B58C742C807B62A6C916B23A5A9B30A8D13B2010A1A2D4010A1B20C221A2A3A4A5A7A8B41A2F873611A2A3A4A5A6A7A8B20A1A2A3A4A5A6A7A8A9B30A2A4A5A6A7A8A9B40A1A2A3A5A7A8A9B50G6101032A5A6A8A9B46A7A8B81A2C108B11A2B41B73A4A5A6A7A8A9B80A1A2A3A4A5A6D2000A1A2A3A4A5A6B10A1A2A3D4234A6B42A8C426D5016A9C300A1D7113A8E10029B31A2A3A4A5B50A1D4200A1A2A3A4A5A6A7A8A9B10A1A2A4A5A6A7A8A9B20A1A2A4A5A6A7A8A9B30A1A2A3A5A6A7B42A3A4A5A7A9B52A3A4A5A6A7A8A9B88E20005A6A8B10A3E30004A5A6A7A8A9B11A2A3A4E40003D9584E50006A8A9B10A1A2A3A4A5A7A8A9B20A1A2A3B30A1A2A3A5E60003A5A6A7D1000A1A2E72000A1A2A3A4A5A6A7A8A9B10A2A6A7A9B26E99520C990F200001A6A7A8E32009B20F400056B73G70002A3A4A5A6A7B10A1C10001A2A3A4A5A6A7A8A9E20000B10B20B30B40B60B80C110C300D9001B10C230E30601B40C720C840D1001A2B10C110B20D2001C170C400B90C500C630A5B60D3030B40B50B90D5010C101B11C411B70C500B10B20B40B50C610E55010B20B40B50E60871A2A3B81A2A3D1041A2B70C171B90C211A2A3B20B40B50B60C321B51C421B60C810C971E93000A6B11B80A1G8001002A3A4A5A6A9B11D4001A2A3A5A6A7A8A9B10A1A2A3A4A5A6A7D5001A2A3A4A5A6A7A8A9B10A1A2A3A4A5D7001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6D8002A3A4A5A6A7A8A9B10A1A2E10001A2A3A4A5A6A7D6001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1D9001A2A3A4A5A6A8A9B10A1A2A3A4A6A7A8A9B20A1A3E20051A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7D4009D5001G9500031A2A9H20000000B53A4B65C100A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3C550A1A2A3A4A5A6A7A8E66015B24A5A6B32A3A4A5A6A7A8A9B40A1A6E99999F100000B37C301A2A3A5A6A7A9B10A1A3A4A5A7A8A9B21A2A3A5A6A7A9B30A1A3A4A5A7A8A9B41A2A3A5A6A7A9B50A1A3A4A5A7A8A9B61A2A3A5A6A7A9B70A1A3A4A5A7A8A9B81A2A3A5A6A7A9B90A1A3A4A5C417A9B21A3A5A7A9B31C510G1520096C113A4B37B45A9B50A3A7A8A9B60B71A2A3A4B91A2A3A4A5A6C211A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8E60002A3G2100131F280999G3000309B50D3001A2A5A7D4001A2A3E62021G4300001A2A3A4A5B13A4A5A6A9B21B31A2A3B80A2A4A8A9B96F562456A8B61A3A7A9B70A2A4B82A3F865324A6A7A8A9B30A1B40G6821999G8315999H30000220B40C450C510D5000B90C105B10A5E52070F600001E14514E28000A1A2A3A5A6A7A8A9B10A1A2A3A5E39998A9E55567B80E66661A2F700010A1A8A9B20A2A7A9B39G1300012G3200022A6A7A9B43B52B76C100B14C251A5A8B62C405C503A5A6A9B12A4A6B20A2A5A9C901A3A4A6A8A9B10A1A5F300156D1350E10001A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A8A9B30A1C101B51C200B53A4A5A6C600A1A2A3A4A5A6A7E30005B18B20A1A4B31B50A3A5B61A3A5A6A7B70A1A4A8B86C110B53A8B66C212C303B23C605D1109C354D4568D8101A2D9001B43E40001A4A5A6A7A8A9B10A4E50001A2A3A4A5A6A7A8A9B10A1A2A3E74560A1A3A6A7E81090F400011A2B20B33A5C101A2A3A4A5A6A7A8A9B10A1A2A4B20C200B20C305B13A5B29B40A1A2A3A4A5A6A7A8A9B51A2A3A4C409B11B30A1B51A2A3A4B74C511B24A6B54A5A6C602A3A4A6A9B36B52A6C747B60C814A5A8B53C951D1011B35B51A4C200A1C308A9B15C606A7A8A9B10A2B20A5B75A6A7A8A9B80A1A2A3A4D5006E76001A2F500008A9B15B50A1A3A4C106B12A7B20A3C200A2A3A6A7A8B14A5C309C400A8A9C802A6A7A8A9B12C921B33B83A8D1001A7B19B86C258C301A2A3A4A5A6A7A8A9B10A1D2001A2A3A5A6A7A8A9B10A1A2A3A4A5A7B22A3A6C314C407B11A2A3A4C501C900A2A4A6A8B10A2A4D3101A3A5A7B11A3B21C200A1A2A3A4A5B10A2C300A1C503A8A9B11C600A1A2A6A7B12A7F700001A2A3A5B15B34A6B42A4A5A6A7B51B82C130A9B40A1A2A3A4A5A7B75A6A7B80B91C337B45B51A4A6A7A9B85A7C402A4A5A6A7B14A5A6A8A9B22A8C501A2A3A4C656A7A9C701A2A3A4A5A6A7A8A9B10A1A2A7A8A9B24B32A3A5A8A9B48A9B76B92C902A3A9B11A4A7A9B23A4A7A9B30A3A4B66B90D1006A7A8A9B62A4A8A9B72A4A5A6A7A8A9B80A1C104A5A6A7A8A9B10A1C315A6A7A9B27B30A1A6A7B40A4A5A9B59B60A2A5A7A8A9B70A1A2A5A9B94C405A7B11A2A5A6A7A8A9B21A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6C515C600A1A2A3A4A5A6A7A8D9001A2A3A4A5A6A7A8A9B10A1A2A3A4A5E10905A6A9B10A3A5A6A7A8B20A1A2D1003A4A7B10C106A7B14A7A8A9B20A3C405A6C502A3A4A5C601C701A2C901A3D2000A4A5A6A7B19E20047A8B52A4B61B72A3A4E30077C102B11G4501311G5100109B13B31F600131A3A5A7A9B41A3A5B65A7A9F700205A6A7B17C410A2A3A4A5A6A7A8C507F800200B17B21B31A7A9E10201E20203E86004G6910002A3G7564001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A4A5A6A7A9B41A2A3A4A6A7A9B50A1A2A3A5A8C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7C302A3A4B10A3A4A6A7B20A3A6B31A2A6A9B50A1A5C401A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2B51A2A3A4A5A6A7A8A9C501A2A3A9B10A1A2A3A4A6A7A8A9B20A3A4A5A7A8A9B30A1A4A5A6A7A9B40A4A5A6A8A9B50A1A2A3A6A7A8A9B60A1A2A4A6A7A8A9B70C601A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6C765B77C801A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3C901A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20F900003B11A2A4A5A7B20B30B99C199D1001D2001E87091A2G9100100A2B12B22B32B42B52B62B72B82B92C202B12B22D1031H40009236A7A8B40A1A5C386C401C964A6A8B70A2A4A6A8B80A2A3A4A6A8B90A6A8E10000B48B50A2A4A6A8B60A2A4A6A8B70C138B40A3C394C501A3A5A7C608B37A9B54A6A8G210003A9B10A1A2A3A4A5A6A8A9B20A3A4A6A7A9B30B42A3A6C167A8D2114A7A8A9C201A2A6E31000A1A2A3A5B11A2B21A2A3A4A7A8A9F3700000G4000001A2A3A4A5A6A7A8A9B10A1A2A3A5A6A7A8A9B21A2A3A4A5A6A7A8A9B30A1A2C101A2D1009G5745907A9B19B28D6017A8A9B20C807A8A9B10A1A2B52A5A6B65G7500503E30004B15A6A7A8A9B20B53A4A9B72A3B96C100A5B44B67B70D5000E64333E80345E91007A8A9B10C299H50218103A6A9B12A5A8B21A4A6A7A8B33A4A5A6A7A8B50C410B20B30B40B50B60B70C535B40A5B50A5B60A5B75B80B95A9C640A5B60A5B85E20110A5B20A5B30D1135C200B30C410A5B40G1300171B81E10091E20071F417000A1F500000E62807A9B11A2G2500000E20003A4A5A6A7A8A9B10A1A2A3A4A6A7A8B21A4A6A7A8B30G3700000A2A3A4A5A7A8D1009D2600D3009B10A1A2D5024E11004A8A9B10A1A2A3A4D3008B12D5001A2A3A4A5A6A8A9B10A1A2A3D8001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6B22A3A4A5D9002E24004D5005A6A8A9D6006A7A8B10A3A4A5A6A7A8D7001A2A3A4A5A6A7A9B10A1A2A4A5D8001B15A7A9D9005A9B12A4A7B26B31A5A7A9E31001A2A3A4A6A9B14A7A8B20E96002A3A6B15B22A9B31B45B53D8002A3D9012A6A7B21B35A7B40A5B52A3C135B40A3A7C234A6B40B68B70H60000005B65A6A7A8A9B70A1A2A3A4A5A6A7A8A9B81A2A3A4A5D1094D2009B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4B47A8A9B51A5A7A8B61A2A3A4A5F150510A1A3A4A5A6A9B20A2B33A5A6A7A8B41A5A6A7A8A9B50A1C619B41A2C731A2A3A4A6C807A8B14A6C931A2A4A6D1017C125A8B99C296A9C322A3A4B51A2A4C411C551A2A3A4C613A5B24C736A7A8C901A2A3A4A5A6A7A8A9B10D2311A2A3A4A5A6C811D9906B15B21B33B41A5G160303F2500001A2A3A4A6A7A8B10A1A3A5A6A7A8A9D9999G4800000B17A9B21A2A4B44A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A8B74B80A1A2A4A5C138A9B40A1A2A3A5E10000E30500A1A3A4A6A7A9B10A1A2A4A5D1501A2A3A4A6A7A8B10A1A2D6000A6A8D7009B14E87002A4A6G5000065D1004A5B10A3A5A6B22A3E10584D1009B22A6E20017B47A8A9B61A2A4A5A6B77A8C106B13A5A7A9B21A2A3A4A5A6B31A2B40A7A8A9B50A1A4A5A6A8A9B60A1A2A4A5A6A7A8A9B70A1A3A5A7C223A4A5A6A7A8A9B30A1A2A3A4A5A7A9B41A2E30001A2A3A4A5B11A2A3A4A5A6A7A8A9B20A1A2A5A6A7A9B52A3A4A5A6A7A8B72A5A6A7A8A9B80A1A2A3A4A5A6A7A8A9B90C108A9B10A1D1014E40017B20A1A2A3A4A5A6B31A2A3B51D7003A5B10B90A1E50001A3A7B26A7A8A9B30A1B47B65A7A8A9B70B96C108B10A2A3A4A5A6A7A8A9B20B43A4A7A8B70A2A8C212A3A4B23A4A5A6A7A8A9B30A2A3A4B63D2001B10A1A3A4A6A8A9C101A2A4A5A6A7A8B10A1A2A3A4A5A6A9B20C201A5A6A8A9B10A1A2A3A4A5A6A7A8A9B20A2A3C301A6B13A4A5A6A7A8C401A2A4A6A8B10A1A2A3A4A5A7A8C502A4A8B10A2A3A4E60028A9B31A8A9B41A2A3A4A5A6A7A8A9B50B60E71002A5B46A9B54A5A6A9B63A6A7B70C101A8B59D2000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2D3001A5E80044A7A8A9B50A2B62A4A6B72E90001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B61A9G6510042F911004D5000A6A9B10A1A3A4A5A6A8A9B20A1A2A5A7A9B30A1A2A7A8B43A9B50A2A3A4A5A6A7A8A9B60A1A2A3B70A1A2A6A8B81A2A3A4A5G700000A5B27B34E200001A2A8B21A5A6B32B51A4A8B62A6B70A4A7A8A9B80A1A2C256B75B98C601A3E10102A6A8G9601002E90005A6D6901A4B17B21B37A8B47H70700101A2A3C213C301A2A3G1000106A7A8A9B10B23A8B33A6F400004A5A6A7A8B10A1A2A8A9B21A2A6A7A8A9B30A3A6A9B40A1A3A4A5A6A7A8A9B52A4A5A6A7B68D2000G2404127D9000B50C135B50B60A5B70B80A5C200E10060B70C230C380B90C400B40B50C780D1010B40B70B80B90C110B91C200B70B80B90C300B10B30B40B60B80C400B10B20B30B40B50B70B90C500B10B20B31C600B10B20B30C731C800D2011C120C340C450B60B70C790E76001F900000A1A2A3A6A7B10A8B24B35A7B41A8B52B60A1G5124986F640051A2A3A4D1001A3A4A6D6006B11A2A3A4B24A7A8B57A9B72C123C201A2A3A5A6A7A8A9B10A2B66A7C317A8A9B28A9B30A3C406B15A7A9B60C546A9B53A4B60A2C600B10A2A7B28C700A1A5A6A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5B32B44C853E79071A3A4B90G6910003A4A5A6A7A8B10A1G7000523A4A5C701A3F700341D2003A4A5A7A8A9B10A1D5264D7002A3A6A7B14A9B26A8A9B43A4B52B67A8A9B80D9000A1A2A3A4A5A6A7A8A9E25299C300A1A2A3A4A5A6A7A8A9B10E84203G8020130D1000H81000000A1A2A3A4A5A6A7A8D3001A9B10B29B31A4A5D4000A1A2A3A4A6A7A8A9B10A1A2A3A4A5C100A1A2A3A4A5A6C200A1A2A3A4A5C300A1A2A3A4A5D6000A1A2A3A4A5A6A7A8A9B10A1A2A3B90A1D8000A1A2A3A4A5A6A8A9B10A2A3A4A5A9B70A1A2A3A4A5E10006A9B10A1A6A7D1000D2000A3A5A8B10A1A3A5A8A9B24A5A6A8B30A3A8A9B55A7A8B63A7A9B73A5A8A9B82A8D4021A3D5009B10A1A6B24A5B30A7B41A7B54A5B63D8004A5B19B22A4B31A8B40A2A8B51A8B64A5E21001A3A5A6B10A1A9B28D2017A9B24A6B32B48B58D4005A7A8A9B10A1B21A2A3A4A5A7A8B30A2A6A9B40A2D6070A1A3A4D7001A5A7A9B13B22A3B30A1A4A7D8004A7A8A9B10A6A7A8B29B30E34002A4A5A8B10A1A2A3A4A5A6A7A8B20A1A2B38B42D8000A1A2A5A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8E40000A4B14A9B20A7B30A3A7B41A7A9B53B60D1000A5A6A7A9B15A6A7B21A2A3A4A6A7A9B30A1A2A3A4A7A9B40A4A8B55A6A7A8B65A6A7A8D2000A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9D4003A7B11A9B21D6004B17A8B21A5B40A1A3D8000A3A5A6A8B11A5A7A9B20A3A6A9B31A6A8B40A4E50008B52D2000F901010A3A4A5A6A7A8A9B20A1A2A3A4A7A8B33A6D2063E80001G209729B33E204246B52D6034B44A9B56D7001A2A3A4A5E21012D4006B58A9B61B82D8569B71A2G3250000A7B17G5400000A5B10A5B20A5B30A5D1300C420B40B60B80C500C630B60C700C830B60D2020C110B20C210B20C310B30E81000A9C900B95A7A8A9G6500010E10101A2E40001A3A5A7A9B11A3A5A7A9B21A3A5A7A9B31A2E70000A1A2A4A7A8B10A1A2A3A4A9B88A9B90G8880120A1F946421H92361300A1A2A3A4A5A6A7A8C438D9003B13A5A6A7A8A9B20A4B40A1A2A3A4A5A6A7A8B50A1A2A3A4A5A6A7A8A9B60A1A2A3A6B71A2A3C666C777C888F403111F900010G300002B16E10042A3B50A8A9E30003A5B21E90012A5A7B20F6001060G8600001A3A4A7B11A2E10007A8B10E50000D6000A3E73201A2A3A4A5A6A7A8A9B10A1A2A3A4F800020G910253B61A4C346B52B92C517B29G"
This source diff could not be displayed because it is too large. You can view the blob instead.
--2pick utilities
local cc=13959997
local this=_G["c"..cc]
function this.initial_effect(c)
end
function this.loadList(fname)
local result={}
local ct=1
for l in io.lines(fname) do
if l:sub(1,1)~="#" and tonumber(l) then
result[ct]=tonumber(l)
ct=ct+1
end
end
return result
end
function this.writeList(t,fname)
local f=io.open(fname,"w")
f:write(table.concat(t,"\n"))
f:flush()
f:close()
end
function this.toSet(t)
local result={}
for _,v in pairs(t) do
local cur=result
for i=1,#tostring(v) do
local c=tostring(v):sub(i,i)
if not cur[tonumber(c)] then
cur[tonumber(c)]={}
end
cur=cur[tonumber(c)]
if i==#tostring(v) then
cur[10]=true
end
end
end
return result
end
function this.toList(s)
local result={}
this.stol(s,result,"")
return result
end
function this.stol(s,t,prefix)
for i=0,9 do
if s[i] then
this.stol(s[i],t,prefix..i)
end
end
if s[10] then
t[#t+1]=tonumber(prefix)
end
end
function this.stostr(s)
local a="a"
local result=""
for i=0,9 do
if s[i] then
result=result..i
result=result..this.stostr(s[i])
result=result..")"
end
end
if s[10] then
result=result.."-"
end
return result
end
function this.dumpSet(s)
local result=this.stostr(s)
local cpr=""
local ct=0
local A="A"
for i=1,#result do
if result:sub(i,i)~=")" then
if ct~=0 then
cpr=cpr..string.char(A:byte()+ct-1)
ct=0
end
if result:sub(i,i)~="-" then
cpr=cpr..result:sub(i,i)
end
else
ct=ct+1
end
end
if ct~=0 then
cpr=cpr..string.char(A:byte()+ct-1)
end
return cpr
end
function this.loadSet(str)
local result={}
local stack={result}
local sp=1
for i=1,#str do
local c=str:sub(i,i)
local A=("A"):byte()
if c:byte()>=A then
stack[sp][10]=true
sp=sp-(c:byte()-A+1)
else
stack[sp][tonumber(c)]={}
stack[sp+1]=stack[sp][tonumber(c)]
sp=sp+1
end
end
return result
end
function this.contains(s,op)
local sop=tostring(op)
local cur=s
local found=false
for i=1,#sop do
if cur[tonumber(sop:sub(i,i))] then
cur=cur[tonumber(sop:sub(i,i))]
else
break
end
if i==#sop and cur[10] then
found=true
end
end
return found
end
function this.add(s,op)
local sop=tostring(op)
local cur=s
for i=1,#sop do
if not cur[tonumber(sop:sub(i,i))] then
cur[tonumber(sop:sub(i,i))]={}
end
cur=cur[tonumber(sop:sub(i,i))]
if i==#sop then
cur[10]=true
end
end
end
function this.del(s,op)
if not this.contains(s,op) then return end
local stack={s}
local sp=1
local sop=tostring(op)
for i=1,#sop do
stack[sp+1]=stack[sp][tonumber(sop:sub(i,i))]
sp=sp+1
end
stack[sp][10]=nil
while sp>1 do
local isEmpty=true
for i=0,10 do
if stack[sp][i] then
isEmpty=false
break
end
end
if isEmpty then
stack[sp-1][tonumber(sop:sub(sp-1,sp-1))]=nil
sp=sp-1
else
break
end
end
end
function this.initSet(s)
s.contains=this.contains
s.add=this.add
s.del=this.del
end
function this.loadCardList(useBanList,ignoreBlackList,clCode)
if not _G["c"..clCode] then
_G["c"..clCode]={}
Duel.LoadScript("c"..clCode..".lua")
if not _G["c"..clCode].Main then
require("expansions/script/c"..clCode) -- Emergency workaround
end
end
local cl=_G["c"..clCode]
local mainList=this.toList(this.loadSet(cl.Main))
local extraList=this.toList(this.loadSet(cl.Extra))
local ml={}
local el={}
local mat={}
local eat={}
for _,v in pairs(mainList) do
local ca=Duel.ReadCard(v,CARDDATA_ALIAS)
if not ca then
Debug.Message("警告!卡片"..v.."不存在,卡表可能需要更新!")
ca=0
end
local dif=ca-v
local real=0
if dif>-10 and dif<10 then
real=ca
else
real=v
end
if not mat[real] then
mat[real]={}
end
mat[real][#mat[real]+1]=v
end
for _,v in pairs(extraList) do
local ca=Duel.ReadCard(v,CARDDATA_ALIAS)
if not ca then
Debug.Message("警告!卡片"..v.."不存在,卡表可能需要更新!")
ca=0
end
local dif=ca-v
local real=0
if dif>-10 and dif<10 then
real=ca
else
real=v
end
if not eat[real] then
eat[real]={}
end
eat[real][#eat[real]+1]=v
end
local bl=this.loadSet(cl.BanList)
local bll=this.loadSet(cl.BlackList)
this.initSet(bl)
this.initSet(bll)
for k,_ in pairs(mat) do
if (ignoreBlackList or not bll:contains(k)) and (not useBanList or not bl:contains(k)) then
ml[#ml+1]=k
end
end
for k,_ in pairs(eat) do
if (ignoreBlackList or not bll:contains(k)) and (not useBanList or not bl:contains(k)) then
el[#el+1]=k
end
end
return ml,el,mat,eat
end
function this.createSkill(c,cc,n,desc,needtg)
local e=Effect.CreateEffect(c)
e:SetType(EFFECT_TYPE_IGNITION)
if not needtg then
e:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SET_AVAILABLE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_CANNOT_INACTIVATE|EFFECT_FLAG_UNCOPYABLE)
else
e:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SET_AVAILABLE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_CANNOT_INACTIVATE|EFFECT_FLAG_UNCOPYABLE|EFFECT_FLAG_CARD_TARGET)
end
e:SetRange(LOCATION_DECK|LOCATION_HAND|LOCATION_MZONE|LOCATION_SZONE|LOCATION_GRAVE|LOCATION_REMOVED)
e:SetCountLimit(n,EFFECT_COUNT_CODE_DUEL|cc)
e:SetDescription(desc)
return e
end
\ No newline at end of file
--Design/Image/Script: wyykak
c13959997={}
Duel.LoadScript("c13959997.lua")
Duel.LoadScript("c16199990.lua")
local cc=13959998
local this=_G["c"..cc]
local rerollc={76815942,17994645,55863245,44155002,68319538,7391448,75326861,34408491,24221808,87460579,40939228,21123811}
this.maincount=40
this.extracount=20
this.useBanList=true
this.skillEnabled=false
this.CardList={}
this.clCode=13959996
this.drawCount=5
function this.initial_effect(c)
if not this.gc then
this.gc=true
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START|PHASE_DRAW)
e1:SetCondition(this.con)
e1:SetOperation(this.op)
Duel.RegisterEffect(e1,0)
local es1=Effect.CreateEffect(c)
es1:SetType(EFFECT_TYPE_FIELD)
es1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
es1:SetCode(EFFECT_SKIP_DP)
es1:SetTargetRange(1,1)
es1:SetCondition(this.con1)
Duel.RegisterEffect(es1,0)
local es2=es1:Clone()
es2:SetCode(EFFECT_SKIP_SP)
es2:SetCondition(this.con2)
Duel.RegisterEffect(es2,0)
local es3=es2:Clone()
es3:SetCode(EFFECT_SKIP_M1)
Duel.RegisterEffect(es3,0)
local es6=es1:Clone()
es6:SetCode(EFFECT_CANNOT_BP)
es6:SetCondition(this.con3)
Duel.RegisterEffect(es6,0)
local es7=es2:Clone()
es7:SetCode(EFFECT_CANNOT_ACTIVATE)
es7:SetValue(aux.TRUE)
Duel.RegisterEffect(es7,0)
local es8=Effect.CreateEffect(c)
es8:SetType(EFFECT_TYPE_FIELD)
es8:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
es8:SetTargetRange(0xff,0xff)
es8:SetCode(EFFECT_DISABLE)
es8:SetCondition(this.con4)
Duel.RegisterEffect(es8,0)
local es9=es7:Clone()
es9:SetCondition(this.con5)
Duel.RegisterEffect(es9,0)
Duel.RegisterFlagEffect(0,cc,0,0,1)
Duel.RegisterFlagEffect(1,cc,0,0,1)
local es10=es1:Clone()
es10:SetCode(EFFECT_DRAW_COUNT)
es10:SetValue(0)
es10:SetCondition(this.con6)
Duel.RegisterEffect(es10,0)
end
end
function this.con6()
return this.isTag and Duel.GetTurnCount()==3
end
function this.con1()
return this.isTag and ({false,true,false,true,true})[Duel.GetTurnCount()]
end
function this.con2()
return this.isTag and ({true,true,true,true})[Duel.GetTurnCount()]
end
function this.con3()
return this.isTag and ({true,true,true,true,true})[Duel.GetTurnCount()]
end
function this.con4()
return this.isPicking
end
function this.con5()
return Duel.GetCurrentPhase()==PHASE_DRAW and (Duel.GetTurnCount()==1 or (this.isTag and Duel.GetTurnCount()==3))
end
function this.con()
return Duel.GetTurnCount()==1 or (this.isTag and Duel.GetTurnCount()==3)
end
function this.seed()
local g=Group.CreateGroup()
local gt={}
for i=0,15 do
local c=Duel.CreateToken(0,10000)
gt[c]=i
g:AddCard(c)
end
Duel.SendtoDeck(g,0,0,REASON_RULE)
local result=0
for i=0,7 do
result=result+(gt[g:RandomSelect(0,1):GetFirst()]<<(4*i))
end
Duel.Exile(g,REASON_RULE)
g:DeleteGroup()
return result
end
function this.seed2()
local result=0
for i=0,31 do
result=result+(Duel.TossCoin(0,1)<<i)
end
return result
end
function this.seed3()
local result=0
local g=Duel.GetFieldGroup(0,0xff,0xff):RandomSelect(0,8)
local ct={}
local c=g:GetFirst()
for i=0,7 do
ct[c]=i
c=g:GetNext()
end
for i=0,10 do
result=result+(ct[g:RandomSelect(0,1):GetFirst()]<<(3*i))
end
g:DeleteGroup()
return result&0xffffffff
end
function this.saveDeck(tp)
if not this.deckList then
this.deckList={}
this.extraList={}
end
this.deckList[tp]={}
this.extraList[tp]={}
local dl=this.deckList[tp]
local el=this.extraList[tp]
Duel.GetMatchingGroup(function(c) return c:GetOriginalCode()~=cc end,tp,LOCATION_DECK|LOCATION_HAND,0,nil):ForEach(function(c) dl[#dl+1]=c:GetOriginalCode() end)
Duel.GetFieldGroup(tp,LOCATION_EXTRA,0):ForEach(function(c) el[#el+1]=c:GetOriginalCode() end)
end
function this.op(e,tp)
this.isPicking=true
if Duel.GetTurnCount()==1 then
math.randomseed(this.seed3())
end
this.saveDeck(0)
this.saveDeck(1)
this.drawCount=Duel.GetFieldGroupCount(0,LOCATION_HAND,0)
Duel.Exile(Duel.GetFieldGroup(0,LOCATION_DECK|LOCATION_EXTRA|LOCATION_HAND,LOCATION_DECK|LOCATION_EXTRA|LOCATION_HAND),REASON_RULE)
if Duel.GetTurnCount()==1 then
this.isTag=Duel.SelectYesNo(0,aux.Stringid(cc,8))
if Duel.SelectYesNo(0,aux.Stringid(cc,2)) then
Debug.Message("字段限制解除")
this.setOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,4)) then
Debug.Message("种族限制解除")
this.raceOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,5)) then
Debug.Message("属性限制解除")
this.attrOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,9)) then
Debug.Message("仪式强化已启用")
this.ritualEnhance(e:GetHandler())
end
if Duel.SelectYesNo(0,aux.Stringid(13959997,3)) then
this.skillEnabled=true
Debug.Message("技能已启用")
end
if Duel.SelectYesNo(0,aux.Stringid(cc,14)) then
if Duel.SelectYesNo(0,aux.Stringid(13959997,0)) then
this.maincount=Duel.AnnounceLevel(0,1,10)*10
end
if Duel.SelectYesNo(0,aux.Stringid(13959997,1)) then
this.extracount=Duel.AnnounceLevel(0,1,10)*10
end
this.useBanList=Duel.SelectYesNo(0,aux.Stringid(13959997,2))
if Duel.SelectYesNo(0,aux.Stringid(13959997,6)) then
this.clCode=({13959996,13959994,13959999})[Duel.SelectOption(0,aux.Stringid(13959997,7),aux.Stringid(13959997,8),aux.Stringid(13959997,9))+1]
end
end
this.option=Duel.SelectOption(0,aux.Stringid(cc,0),aux.Stringid(cc,1),aux.Stringid(cc,6),aux.Stringid(cc,7),aux.Stringid(cc,11),aux.Stringid(cc,10),aux.Stringid(13959997,4),aux.Stringid(13959997,5))
local n=0
if this.option==0 then
Debug.Message("本局决斗使用2pick规则")
this.f=function() this.twopick(this.maincount,this.extracount) end
elseif this.option==1 then
Debug.Message("本局决斗使用自定义轮抽规则(类MTG)")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,2,12)
this.f=function() this.custompick(this.maincount,this.extracount,n) end
elseif this.option==2 then
Debug.Message("本局决斗使用无竞争n选1规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,2,12)
this.f=function() this.npick(this.maincount,this.extracount,n) end
elseif this.option==3 then
Debug.Message("本局决斗使用整组2pick规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,1,10)
this.f=function() this.twopickn(this.maincount,this.extracount,n) end
elseif this.option==4 then
Debug.Message("本局决斗使用全随机规则")
this.f=function() this.fullrandom(this.maincount,this.extracount) end
elseif this.option==5 then
Debug.Message("本局决斗使用20张场上轮选规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0)
this.f=function() this.fpick(this.maincount,this.extracount,n) end
elseif this.option==6 then
Debug.Message("本局决斗使用部分随机规则")
n=Duel.AnnounceLevel(0,1,10)
this.f=function() this.partialrandom(n) end
elseif this.option==7 then
Debug.Message("本局决斗使用部分卡组交换规则")
n=Duel.AnnounceLevel(0,1,10)
this.f=function() this.swapmode(n) end
end
end
this.f()
Duel.ConfirmCards(0,Duel.GetFieldGroup(0,LOCATION_DECK,0))
Duel.ConfirmCards(1,Duel.GetFieldGroup(1,LOCATION_DECK,0))
Duel.SelectMatchingCard(0,nil,0,LOCATION_EXTRA,0,0,99,nil)
Duel.SelectMatchingCard(1,nil,1,LOCATION_EXTRA,0,0,99,nil)
if this.skillEnabled then
Duel.SendtoDeck(Duel.CreateToken(0,Duel.AnnounceCard(0,0xe39,OPCODE_ISSETCARD)),0,0,REASON_RULE)
Duel.SendtoDeck(Duel.CreateToken(1,Duel.AnnounceCard(1,0xe39,OPCODE_ISSETCARD)),1,0,REASON_RULE)
end
Duel.ShuffleDeck(0)
Duel.ShuffleDeck(1)
Duel.ShuffleExtra(0)
Duel.ShuffleExtra(1)
if not this.isTag or Duel.GetTurnCount()==5 then
this.isPicking=false
end
Duel.Draw(0,this.drawCount,REASON_RULE)
Duel.Draw(1,this.drawCount,REASON_RULE)
this.reroll(0)
this.reroll(1)
this.isPicking=false
Duel.ResetTimeLimit(0)
Duel.ResetTimeLimit(1)
end
function this.ccGen(from,count)
if not this.CardList.Main then
local ml,el,mat,eat=c13959997.loadCardList(this.useBanList,false,this.clCode)
this.CardList.Main=ml
this.CardList.Extra=el
this.CardList.MainAliasTable=mat
this.CardList.ExtraAliasTable=eat
end
local g={}
for i=1,count do
local temp=this.CardList[from][Duel.GetRandomNumber(1,#this.CardList[from])]
local at=this.CardList[from.."AliasTable"]
if #at[temp]>1 then
g[i]=at[temp][Duel.GetRandomNumber(1,#at[temp])]
else
g[i]=temp
end
end
return g
end
function this.ccSelect(g,tp)
local cg=Group.CreateGroup()
for k,v in pairs(g) do
local c=Duel.CreateToken(tp,v)
c:RegisterFlagEffect(cc,0,0,0,k)
cg:AddCard(c)
end
local result
if #cg>1 then
result=cg:Select(tp,1,1,nil):GetFirst()
else
result=cg:GetFirst()
end
table.remove(g,result:GetFlagEffectLabel(cc))
cg:DeleteGroup()
return result
end
function this.twopick(mainc,extrac)
local count=0
while count<mainc do
local g=this.ccGen("Main",2)
local tp=count%2
local c=this.ccSelect(g,tp)
local c1=c
local c2=Duel.CreateToken(1-tp,g[1])
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
Duel.ConfirmCards(1-tp,c2)
count=count+1
end
count=0
while count<extrac do
local g=this.ccGen("Extra",2)
local tp=count%2
local c=this.ccSelect(g,tp)
local c1=c
local c2=Duel.CreateToken(1-tp,g[1])
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
Duel.ConfirmCards(1-tp,c2)
count=count+1
end
end
function this.custompick(mainc,extrac,packc)
local count=0
local packs={}
local packnum=8*mainc//packc
if mainc%packc~=0 then packnum=packnum+1 end
for i=1,packnum do
packs[i]=this.ccGen("Main",packc)
end
local cp=1
while count<mainc do
local tp=0
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c1=this.ccSelect(packs[cp],tp)
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c2=this.ccSelect(packs[cp],1-tp)
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
-- Duel.ConfirmCards(1-tp,c2)
count=count+1
if cp==packnum then
cp=1
else
cp=cp+1
end
end
count=0
packs={}
packnum=8*extrac//packc
if extrac%packc~=0 then packnum=packnum+1 end
for i=1,packnum do
packs[i]=this.ccGen("Extra",packc)
end
cp=1
while count<extrac do
local tp=0
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c1=this.ccSelect(packs[cp],tp)
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c2=this.ccSelect(packs[cp],1-tp)
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
-- Duel.ConfirmCards(1-tp,c2)
count=count+1
if cp==packnum then
cp=1
else
cp=cp+1
end
end
end
function this.setOverride()
Card.IsSetCard=aux.TRUE
Card.IsPreviousSetCard=aux.TRUE
Card.IsFusionSetCard=aux.TRUE
Card.IsLinkSetCard=aux.TRUE
Card.IsOriginalSetCard=aux.TRUE
Card.IsFusionSetCard=aux.TRUE
aux.IsMaterialListSetCard=aux.TRUE
rk.check=aux.TRUE
aux.IsCodeListed=aux.TRUE
end
function this.GetChainInfo(ev,...)
local code_list={...}
local chaininfolist={}
for i,v in ipairs(code_list) do
if v == CHAININFO_TRIGGERING_RACE then
table.insert(chaininfolist,RACE_ALL)
elseif v == CHAININFO_TRIGGERING_ATTRIBUTE then
table.insert(chaininfolist,0x7f)
else
table.insert(chaininfolist,this.GetChainInfotmp(ev,v))
end
end
return table.unpack(chaininfolist)
end
function this.raceOverride()
Card.IsRace=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsLinkRace=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.GetRace=function(c) if c and c:IsType(TYPE_MONSTER) then return RACE_ALL end return nil end
Card.GetLinkRace=function(c) if c and c:IsType(TYPE_MONSTER) then return RACE_ALL end return nil end
Card.GetOriginalRace=function(c) if c and c:GetOriginalType()&TYPE_MONSTER>0 then return RACE_ALL end return nil end
Card.GetPreviousRaceOnField=function(c) if c and c:IsType(TYPE_MONSTER) then return RACE_ALL end return nil end
this.GetChainInfotmp=Duel.GetChainInfo
Duel.GetChainInfo=this.GetChainInfo
end
function this.attrOverride()
Card.IsAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsFusionAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsLinkAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.GetAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetFusionAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetLinkAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetOriginalAttribute=function(c) if c and c:GetOriginalType()&TYPE_MONSTER>0 then return 0x7f end return nil end
Card.GetPreviousAttributeOnField=function(c) if c and c:GetOriginalType()&TYPE_MONSTER>0 then return 0x7f end return nil end
end
function this.ritualEnhance(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetValue(TYPE_RITUAL)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
e1:SetTargetRange(0xff,0xff)
e1:SetTarget(function(e,c1) return c1:GetOriginalType()&TYPE_MONSTER==TYPE_MONSTER end)
Duel.RegisterEffect(e1,0)
local e2=aux.AddRitualProcUltimate(c,
function(c1,e,tp) return c1==e:GetHandler() end,
Card.GetLevel,
"Greater",
LOCATION_HAND,
nil,
nil)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND)
e2:SetDescription(aux.Stringid(cc,13))
local reg=Effect.CreateEffect(c)
reg:SetType(EFFECT_TYPE_FIELD|EFFECT_TYPE_GRANT)
reg:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
reg:SetTargetRange(0xff,0xff)
reg:SetTarget(function(e,c1) return c1:GetOriginalType()&(TYPE_RITUAL|TYPE_MONSTER)==(TYPE_RITUAL|TYPE_MONSTER) end)
reg:SetLabelObject(e2)
Duel.RegisterEffect(reg,0)
end
function this.ccEnhance(c,n)
local ccop=function(e,tp,eg,ep,ev,re,r,rp)
local tgc=Duel.AnnounceCard(tp)
local ce=Effect.CreateEffect(e:GetHandler())
ce:SetType(EFFECT_TYPE_SINGLE)
ce:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE|EFFECT_FLAG_UNCOPYABLE|EFFECT_FLAG_CANNOT_DISABLE)
ce:SetCode(EFFECT_CHANGE_CODE)
ce:SetValue(tgc)
e:GetHandler():RegisterEffect(ce)
Duel.BreakEffect()
if Duel.SelectYesNo(tp,aux.Stringid(13959997,5)) then
Duel.SendtoDeck(e:GetHandler(),tp,2,REASON_EFFECT)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetDescription(aux.Stringid(13959997,4))
e1:SetRange(LOCATION_ONFIELD|LOCATION_HAND)
e1:SetCountLimit(n,13959998|EFFECT_COUNT_CODE_DUEL)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_UNCOPYABLE|EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(ccop)
local reg=Effect.CreateEffect(c)
reg:SetType(EFFECT_TYPE_FIELD|EFFECT_TYPE_GRANT)
reg:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
reg:SetTargetRange(0xff,0xff)
reg:SetTarget(aux.TRUE)
reg:SetLabelObject(e1)
Duel.RegisterEffect(reg,0)
end
function this.npick(mainc,extrac,n)
local count=0
while count<mainc do
local g1=this.ccGen("Main",n)
local g2=this.ccGen("Main",n)
local c1=this.ccSelect(g1,0)
local c2=this.ccSelect(g2,1)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+1
end
count=0
while count<extrac do
local g1=this.ccGen("Extra",n)
local g2=this.ccGen("Extra",n)
local c1=this.ccSelect(g1,0)
local c2=this.ccSelect(g2,1)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+1
end
end
function this.fSelect(tp,g1,g2)
local cg1,cg2=this.displayOnField(tp,g1,g2)
local cg=Group.CreateGroup(cg1,cg2)
if cg1:IsContains(cg:Select(tp,1,1,nil):GetFirst()) then
Duel.Exile(cg2,REASON_RULE)
cg2:DeleteGroup()
cg:DeleteGroup()
return cg1
else
Duel.Exile(cg1,REASON_RULE)
cg1:DeleteGroup()
cg:DeleteGroup()
return cg2
end
end
function this.displayOnField(tp,g1,g2)
local cg1=Group.CreateGroup()
local cg2=Group.CreateGroup()
local ct1={}
local ct2={}
for k,v in pairs(g1) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg1:AddCard(c)
ct1[c]=v
end
for k,v in pairs(g2) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,1-tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg2:AddCard(c)
ct2[c]=v
end
return cg1,cg2,ct1,ct2
end
function this.twopickn(mainc,extrac,n)
local count=0
while count<mainc do
local g11=this.ccGen("Main",n)
local g12=this.ccGen("Main",n)
local g21=this.ccGen("Main",n)
local g22=this.ccGen("Main",n)
local c1=this.fSelect(0,g11,g12)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
local c2=this.fSelect(1,g21,g22)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+n
end
count=0
while count<extrac do
local g11=this.ccGen("Extra",n)
local g12=this.ccGen("Extra",n)
local g21=this.ccGen("Extra",n)
local g22=this.ccGen("Extra",n)
local c1=this.fSelect(0,g11,g12)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
local c2=this.fSelect(1,g21,g22)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+n
end
end
function this.fpick(mainc,extrac,n)
local change=function(c,ct,from)
local ncc=this.ccGen(from,1)[1]
ct[c]=ncc
c:SetEntityCode(ncc,true)
end
local count=0
local reroll={}
reroll[0]=n
reroll[1]=n
local rerollCard={}
rerollCard[0]=Duel.CreateToken(0,rerollc[reroll[0]])
rerollCard[1]=Duel.CreateToken(1,rerollc[reroll[1]])
Duel.SendtoHand(rerollCard[0],0,REASON_RULE)
Duel.SendtoHand(rerollCard[1],1,REASON_RULE)
Duel.MoveToField(rerollCard[0],0,0,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<5)
Duel.MoveToField(rerollCard[1],1,1,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<5)
local g1=this.ccGen("Main",10)
local g2=this.ccGen("Main",10)
local cg1,cg2,ct1,ct2=this.displayOnField(0,g1,g2)
local tp=0
local rerolled=false
while count<mainc do
local sg=Duel.GetFieldGroup(tp,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE)
if rerollCard[1-tp] then
sg:RemoveCard(rerollCard[1-tp])
end
if rerollCard[tp] and rerolled then
sg:RemoveCard(rerollCard[tp])
end
local sc=sg:Select(tp,1,1,nil):GetFirst()
if sc==rerollCard[tp] then
cg1:ForEach(change,ct1,"Main")
cg2:ForEach(change,ct2,"Main")
rerolled=true
reroll[tp]=reroll[tp]-1
if reroll[tp]==0 then
Duel.Exile(rerollCard[tp],REASON_RULE)
rerollCard[tp]=nil
else
rerollCard[tp]:SetEntityCode(rerollc[reroll[tp]],true)
end
else
if ct1[sc] then
Duel.SendtoDeck(Duel.CreateToken(tp,ct1[sc]),tp,0,REASON_RULE)
change(sc,ct1,"Main")
else
Duel.SendtoDeck(Duel.CreateToken(tp,ct2[sc]),tp,0,REASON_RULE)
change(sc,ct2,"Main")
end
if tp==1 then
count=count+1
end
tp=1-tp
rerolled=false
end
end
cg1:ForEach(change,ct1,"Extra")
cg2:ForEach(change,ct2,"Extra")
tp=0
count=0
rerolled=false
while count<extrac do
local sg=Duel.GetFieldGroup(tp,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE)
if rerollCard[1-tp] then
sg:RemoveCard(rerollCard[1-tp])
end
if rerollCard[tp] and rerolled then
sg:RemoveCard(rerollCard[tp])
end
local sc=sg:Select(tp,1,1,nil):GetFirst()
if sc==rerollCard[tp] then
cg1:ForEach(change,ct1,"Extra")
cg2:ForEach(change,ct2,"Extra")
rerolled=true
reroll[tp]=reroll[tp]-1
if reroll[tp]==0 then
Duel.Exile(rerollCard[tp],REASON_RULE)
rerollCard[tp]=nil
else
rerollCard[tp]:SetEntityCode(rerollc[reroll[tp]],true)
end
else
if ct1[sc] then
Duel.SendtoDeck(Duel.CreateToken(tp,ct1[sc]),tp,0,REASON_RULE)
change(sc,ct1,"Extra")
else
Duel.SendtoDeck(Duel.CreateToken(tp,ct2[sc]),tp,0,REASON_RULE)
change(sc,ct2,"Extra")
end
if tp==1 then
count=count+1
end
tp=1-tp
rerolled=false
end
end
Duel.Exile(Duel.GetFieldGroup(0,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE),REASON_RULE)
end
function this.fullrandom(mainc,extrac)
for i=0,1 do
Duel.SelectYesNo(i,aux.Stringid(cc,15))
local mg=Group.CreateGroup()
local eg=Group.CreateGroup()
for _,v in pairs(this.ccGen("Main",mainc)) do
mg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(mg,i,0,REASON_RULE)
for _,v in pairs(this.ccGen("Extra",extrac)) do
eg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(eg,i,0,REASON_RULE)
mg:DeleteGroup()
eg:DeleteGroup()
Duel.SelectYesNo(i,aux.Stringid(cc,15))
end
end
function this.reroll(tp)
local ct=3
while ct>0 and Duel.SelectYesNo(tp,aux.Stringid(cc,12)) do
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
Duel.SendtoDeck(g,tp,0,REASON_RULE)
Duel.ShuffleDeck(tp)
Duel.Draw(tp,#g-1,REASON_RULE)
ct=ct-1
end
end
function this.picrandom(g)
if not this.CardList.Main then
local ml,el,mat,eat=c13959997.loadCardList(this.useBanList,false,this.clCode)
this.CardList.Main=ml
this.CardList.Extra=el
this.CardList.MainAliasTable=mat
this.CardList.ExtraAliasTable=eat
end
local rg={}
for _,v in pairs(g) do
if this.CardList.MainAliasTable[v] then
local at=this.CardList.MainAliasTable
rg[#rg+1]=at[v][Duel.GetRandomNumber(1,#at[v])]
elseif this.CardList.ExtraAliasTable[v] then
local at=this.CardList.ExtraAliasTable
rg[#rg+1]=at[v][Duel.GetRandomNumber(1,#at[v])]
else
rg[#rg+1]=v
end
end
return rg
end
function this.sample(g,ct)
local cct=#g
local rg={}
local remains={}
for i=1,ct do
if i>cct then
break
end
local idx=Duel.GetRandomNumber(1,cct-i+1)
rg[#rg+1]=g[idx]
if idx<cct-i+1 then
g[idx]=g[cct-i+1]
end
end
for i=1,cct-ct do
remains[i]=g[i]
end
return rg,remains
end
function this.partialrandom(n)
for i=0,1 do
Duel.SelectYesNo(i,aux.Stringid(cc,15))
local mg=Group.CreateGroup()
local eg=Group.CreateGroup()
local mc=math.floor(#this.deckList[i]*n/10)
local ec=math.floor(#this.extraList[i]*n/10)
for _,v in pairs(this.picrandom(this.sample(this.deckList[i],mc))) do
mg:AddCard(Duel.CreateToken(i,v))
end
for _,v in pairs(this.ccGen("Main",#this.deckList[i]-mc)) do
mg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(mg,i,0,REASON_RULE)
for _,v in pairs(this.picrandom(this.sample(this.extraList[i],ec))) do
eg:AddCard(Duel.CreateToken(i,v))
end
for _,v in pairs(this.ccGen("Extra",#this.extraList[i]-ec)) do
eg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(eg,i,0,REASON_RULE)
mg:DeleteGroup()
eg:DeleteGroup()
Duel.SelectYesNo(i,aux.Stringid(cc,15))
end
end
function this.swapmode(n)
local mg={}
local eg={}
mg[0]=Group.CreateGroup()
mg[1]=Group.CreateGroup()
eg[0]=Group.CreateGroup()
eg[1]=Group.CreateGroup()
for i=0,1 do
local mcg,mcgr=this.sample(this.deckList[i],math.floor(#this.deckList[i]*n/10))
local ecg,ecgr=this.sample(this.extraList[i],math.floor(#this.extraList[i]*n/10))
for _,v in pairs(mcg) do
mg[1-i]:AddCard(Duel.CreateToken(1-i,v))
end
for _,v in pairs(mcgr) do
mg[i]:AddCard(Duel.CreateToken(i,v))
end
for _,v in pairs(ecg) do
eg[1-i]:AddCard(Duel.CreateToken(1-i,v))
end
for _,v in pairs(ecgr) do
eg[i]:AddCard(Duel.CreateToken(i,v))
end
end
for i=0,1 do
Duel.SelectYesNo(i,aux.Stringid(cc,15))
Duel.SendtoDeck(mg[i],i,0,REASON_RULE)
Duel.SendtoDeck(eg[i],i,0,REASON_RULE)
Duel.SelectYesNo(i,aux.Stringid(cc,15))
end
end
\ No newline at end of file
--青梅竹马·七草一花
local m=33585013
local m=33571011
local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
......
......@@ -45,7 +45,7 @@ function c67200302.setfilter(c)
end
function c67200302.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and and Duel.IsExistingMatchingCard(c67200302.setfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(67200302,2)) then
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(c67200302.setfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(67200302,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c67200302.setfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,2,nil)
if g:GetCount()>0 then
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_DESTROYED)
e1:SetCountLimit(1,m)
e1:SetCondition(cm,thcon)
e1:SetCondition(cm.thcon)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
......
......@@ -33,7 +33,7 @@ end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.dmgfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.dmgfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,cm.dmgfilter,tp,0,LOCATION_MZONE,1,1,nil)
......
......@@ -395,8 +395,7 @@
!counter 0x353 护盾指示物
!counter 0x354 充能指示物
#wyykak 2387062773 139 0xe30-0xe3f
!setname 0xe39 2Pick技能
#wyykak 2387062773 139
#仲村芽衣子 2736617510 141
#named_with_hana 花舞少女
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment