[+] Add support for geki cm and fix chusan cm implementation (#175)

This commit is contained in:
alexay7
2025-09-30 07:47:31 +02:00
committed by GitHub
parent b0a49d6626
commit 4971f2be78
11 changed files with 1351 additions and 3 deletions

View File

@@ -35,7 +35,7 @@ class ChusanController(
val chusan: Chusan val chusan: Chusan
): MeowApi({ api, resp -> ): MeowApi({ api, resp ->
if (resp is String) resp if (resp is String) resp
else (if ("CM" in api) cmMapper else mapper).write(resp) else (if ("CM" in api || api == "GetUserItemApi" ) cmMapper else mapper).write(resp)
}) { }) {
val log = LoggerFactory.getLogger(ChusanController::class.java) val log = LoggerFactory.getLogger(ChusanController::class.java)

View File

@@ -54,10 +54,31 @@ fun ChusanController.cmApiInit() {
db.userGacha.save(it) db.userGacha.save(it)
} }
//Set the hasCompleted to true
val printState = db.userCardPrintState.findByUserAndGachaIdAndHasCompleted(u, gachaId, false)
if (printState.isEmpty()) return@api null
printState.forEach { it.hasCompleted = true }
db.userCardPrintState.saveAll(printState)
// Append the order ID to the response with the key "orderId"
val fullPrintState = printState.map {
mapOf(
"orderId" to it.id,
"hasCompleted" to it.hasCompleted,
"limitDate" to it.limitDate.toString(),
"placeId" to it.placeId,
"cardId" to it.cardId,
"gachaId" to it.gachaId,
"userId" to uid
)
}
mapOf( mapOf(
"returnCode" to 1, "returnCode" to 1,
"apiName" to "CMUpsertUserGachaApi", "apiName" to "CMUpsertUserGachaApi",
"userCardPrintStateList" to db.userCardPrintState.findByUserAndGachaIdAndHasCompleted(u, gachaId, false) "userCardPrintStateList" to fullPrintState
) )
} }

View File

@@ -3,6 +3,10 @@ package icu.samnyan.aqua.sega.chusan.model.userdata
import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.annotation.JsonSerialize import com.fasterxml.jackson.databind.annotation.JsonSerialize
import icu.samnyan.aqua.net.games.BaseEntity import icu.samnyan.aqua.net.games.BaseEntity
import icu.samnyan.aqua.net.games.IUserData import icu.samnyan.aqua.net.games.IUserData
@@ -10,8 +14,22 @@ import icu.samnyan.aqua.sega.chusan.model.request.UserEmoney
import icu.samnyan.aqua.sega.general.model.Card import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer
import jakarta.persistence.* import jakarta.persistence.*
import kotlinx.io.IOException
import lombok.NoArgsConstructor import lombok.NoArgsConstructor
import java.time.LocalDateTime import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
class FlexibleDateTimeDeserializer : JsonDeserializer<LocalDateTime?>() {
@Throws(IOException::class)
public override fun deserialize(p: JsonParser, ctxt: DeserializationContext?): LocalDateTime {
return LocalDateTime.parse(p.getText(), FORMATTER)
}
companion object {
// Card Maker needs the date ending with ".0" and chunithm sends the dates without it so we need a flexible parser
private val FORMATTER: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss[.S]")
}
}
@Entity(name = "ChusanUserData") @Entity(name = "ChusanUserData")
@Table(name = "chusan_user_data") @Table(name = "chusan_user_data")
@@ -50,12 +68,14 @@ class Chu3UserData : BaseEntity(), IUserData {
var totalExpertHighScore: Long = 0 var totalExpertHighScore: Long = 0
var totalMasterHighScore: Long = 0 var totalMasterHighScore: Long = 0
var totalUltimaHighScore: Long = 0 var totalUltimaHighScore: Long = 0
@JsonDeserialize(using = FlexibleDateTimeDeserializer::class)
var eventWatchedDate: LocalDateTime = LocalDateTime.now() var eventWatchedDate: LocalDateTime = LocalDateTime.now()
var friendCount = 0 var friendCount = 0
var firstGameId: String = "" var firstGameId: String = ""
var firstRomVersion: String = "" var firstRomVersion: String = ""
var firstDataVersion: String = "" var firstDataVersion: String = ""
@JsonDeserialize(using = FlexibleDateTimeDeserializer::class)
override var firstPlayDate: LocalDateTime = LocalDateTime.now() override var firstPlayDate: LocalDateTime = LocalDateTime.now()
var lastGameId: String = "" var lastGameId: String = ""
@@ -65,6 +85,7 @@ class Chu3UserData : BaseEntity(), IUserData {
@JsonIgnore @JsonIgnore
var lastLoginDate: LocalDateTime = LocalDateTime.now() var lastLoginDate: LocalDateTime = LocalDateTime.now()
@JsonDeserialize(using = FlexibleDateTimeDeserializer::class)
override var lastPlayDate: LocalDateTime = LocalDateTime.now() override var lastPlayDate: LocalDateTime = LocalDateTime.now()
var lastPlaceId = 0 var lastPlaceId = 0
var lastPlaceName: String = "" var lastPlaceName: String = ""

View File

@@ -1,5 +1,6 @@
package icu.samnyan.aqua.sega.chusan.model.userdata package icu.samnyan.aqua.sega.chusan.model.userdata
import com.fasterxml.jackson.annotation.JsonIgnore
import jakarta.persistence.Entity import jakarta.persistence.Entity
import jakarta.persistence.Table import jakarta.persistence.Table
import java.time.LocalDateTime import java.time.LocalDateTime
@@ -8,6 +9,8 @@ import java.time.LocalDateTime
@Table(name = "chusan_user_print_state") @Table(name = "chusan_user_print_state")
class UserCardPrintState( class UserCardPrintState(
var hasCompleted: Boolean = false, var hasCompleted: Boolean = false,
@JsonIgnore
var limitDate: LocalDateTime = LocalDateTime.now(), var limitDate: LocalDateTime = LocalDateTime.now(),
var placeId: Int = 0, var placeId: Int = 0,
var cardId: Int = 0, var cardId: Int = 0,

View File

@@ -9,6 +9,7 @@ fun OngekiController.ongekiInit() {
fun <T> List<T>.staticLst(key: String) = mapOf("length" to size, key to this) fun <T> List<T>.staticLst(key: String) = mapOf("length" to size, key to this)
initUser() initUser()
cmApiInit()
initUpsertAll() initUpsertAll()
// Has type, but type is always 1 // Has type, but type is always 1

View File

@@ -0,0 +1,345 @@
package icu.samnyan.aqua.sega.ongeki
import ext.asDateTime
import ext.empty
import ext.int
import ext.invoke
import ext.long
import ext.mapApply
import ext.minus
import ext.parsing
import icu.samnyan.aqua.sega.ongeki.model.*
import java.time.LocalDateTime
fun OngekiController.cmApiInit() {
"CMGetUserData" {
val user = db.data.findByCard_ExtId(uid)() ?: (400 - "User not found")
mapOf("userId" to uid, "userData" to user)
}
"PrinterLogin" { mapOf("returnCode" to 1) }
"PrinterLogout" { mapOf("returnCode" to 1) }
"CMGetUserCard".unpaged("userCardList"){
db.card.findByUser_Card_ExtId(uid).map { it.apply { printCount = 99 } }
}
"CMGetUserCharacter".unpaged("userCharacterList") { db.character.findByUser_Card_ExtId(uid)}
"CMGetUserItem" {
val kind = (parsing { data["nextIndex"]!!.long } / 10000000000L).toInt()
var dat = db.item.findByUser_Card_ExtIdAndItemKind(uid, kind)
// Check if user have infinite kaika
if (kind == OgkItemType.KaikaItem.ordinal) {
val u = db.data.findByCard_ExtId(uid)()
u?.card?.aquaUser?.gameOptions?.let {
if (it.ongekiInfiniteKaika) {
dat = listOf(UserItem().apply {
user = u
itemKind = OgkItemType.KaikaItem.ordinal
itemId = 1
stock = 999
})
}
}
}
mapOf("userId" to uid, "length" to dat.size, "nextIndex" to -1, "itemKind" to kind, "userItemList" to dat)
}
"GetGameGacha" {
gdb.gacha.findAll().let {
mapOf("length" to it.size, "gameGachaList" to it, "registIdList" to emptyList<Any>())
}
}
"GetGameGachaCardById" {
val gachaId = parsing { data["gachaId"]!!.long }
gdb.gachaCard.findAllByGachaId(gachaId).let {
mapOf("gachaId" to gachaId, "length" to it.size, "isPickup" to false, "gameGachaCardList" to it,
"emissionList" to empty, "afterCalcList" to empty
)
}
}
"GetUserGacha" {
db.gacha.findByUser_Card_ExtId(uid).let{
mapOf("userId" to uid, "length" to it.size, "nextIndex" to 0, "userGachaList" to it)
}
}
"RollGacha" {
val (gachaId, tmpTimes) = parsing { data["gachaId"]!!.long to data["times"]!!.int }
var times = tmpTimes
val user = db.data.findByCard_ExtId(uid)() ?: (400 - "User not found")
val foundGacha = gdb.gacha.findById(gachaId)() ?: (404 - "Gacha not found")
val foundUserGacha = db.gacha.findByUserAndGachaId(user, gachaId)
// Official gacha percentages: R 76% SR 21% SSR 3%
val probabilities = listOf(76, 21, 3)
var rarityResults: List<Int> = emptyList()
// If this is the first x5 pull or any x11 pull, an SR is guaranteed
if(foundUserGacha != null && ((times == 5 && foundUserGacha.fiveGachaCnt==0) || times==11)){
rarityResults = listOf(3)
times -= 1
}
rarityResults = rarityResults + List(times) {
val rand = (1..100).random()
when {
rand <= probabilities[0] -> 2
rand <= probabilities[0] + probabilities[1] -> 3
else -> 4
}
}
val pulledCards = if(foundGacha.kind==0 || foundGacha.kind==3) {
// If it is the free or the permanent gacha, include cards from the gacha itself
gdb.gachaCard.findAllByGachaId(gachaId).groupBy { it.rarity }
} else {
// If it is a normal gacha, include all cards from the permanent gacha
gdb.gachaCard.findAllByGachaIdAndPermanent(gachaId).groupBy { it.rarity }
}
val finalPulls = rarityResults.map { rarity -> pulledCards[rarity]?.random()}
mapOf("length" to finalPulls.size, "gameGachaCardList" to finalPulls)
}
"CMUpsertUserGacha" api@ {
val all: OngekiCMUpsertUserGacha = mapper.convert(data["cmUpsertUserGacha"]!!)
val gacha = parsing { data["gachaId"]!!.long }
val pullCount = parsing { data["gachaCnt"]!!.int }
val earnedSelectPoints = parsing { data["selectPoint"]!!.int }
// User data
val oldUser = db.data.findByCard_ExtId(uid)()
val u: UserData = all.userData?.get(0)?.apply {
id = oldUser?.id ?: 0
card = oldUser?.card ?: us.cardRepo.findByExtId(uid)() ?: (404 - "Card not found")
// Set eventWatchedDate with lastPlayDate, because client doesn't update it
cmEventWatchedDate = oldUser?.lastPlayDate ?: ""
db.data.save(this)
} ?: oldUser ?: return@api null
db.gacha.findByUserAndGachaId(u, gacha)?.apply {
totalGachaCnt += pullCount
// If the user pulled a select gacha increase the stats
if (earnedSelectPoints > 0) {
selectPoint += earnedSelectPoints
ceilingGachaCnt += pullCount
}
// Stats related with the group of pulls the user makes
if (pullCount == 5) {
fiveGachaCnt += 1
}else if (pullCount == 11) {
elevenGachaCnt+=1
}
// Update the daily gacha
val parsedDailyGachaDate = dailyGachaDate.asDateTime()!!
if (
parsedDailyGachaDate.dayOfMonth != LocalDateTime.now().dayOfMonth ||
parsedDailyGachaDate.monthValue != LocalDateTime.now().monthValue ||
parsedDailyGachaDate.year != LocalDateTime.now().year
) {
dailyGachaCnt += pullCount
dailyGachaDate = LocalDateTime.now().toString()
}else{
dailyGachaCnt += pullCount
}
}?: UserGacha().apply {
user = u
gachaId = gacha
totalGachaCnt = pullCount
selectPoint = earnedSelectPoints
ceilingGachaCnt = if (earnedSelectPoints > 0) 1 else 0
fiveGachaCnt = if (pullCount == 5) 1 else 0
elevenGachaCnt = if (pullCount == 11) 1 else 0
dailyGachaCnt = pullCount
db.gacha.save(this)
}
all.run {
// Set users
listOfNotNull(
userCharacterList, userCardList, userItemList
).flatten().forEach { it.user = u }
// UserCharacterList
userCharacterList?.let { list ->
db.character.saveAll(list.distinctBy { it.characterId }.mapApply {
id = db.character.findByUserAndCharacterId(u, characterId)()?.id ?: 0
})
}
// UserCardList
userCardList?.let { list ->
db.card.saveAll(list.distinctBy { it.cardId }.mapApply {
id = db.card.findByUserAndCardId(u, cardId)()?.id ?: 0
})
}
// UserItemList
userItemList?.let { list ->
db.item.saveAll(list.distinctBy { it.itemKind to it.itemId }.mapApply {
id = db.item.findByUserAndItemKindAndItemId(u, itemKind, itemId)()?.id ?: 0
})
}
}
null
}
"CMUpsertUserAll" api@{
val all: OngekiCMUpsertAll = mapper.convert(data["cmUpsertUserAll"]!!)
// User data
val oldUser = db.data.findByCard_ExtId(uid)()
val u: UserData = all.userData?.get(0)?.apply {
id = oldUser?.id ?: 0
card = oldUser?.card ?: us.cardRepo.findByExtId(uid)() ?: (404 - "Card not found")
// Set eventWatchedDate with lastPlayDate, because client doesn't update it
cmEventWatchedDate = oldUser?.lastPlayDate ?: ""
db.data.save(this)
} ?: oldUser ?: return@api null
all.run {
// Set users
listOfNotNull(
userActivityList, userCharacterList, userCardList, userItemList
).flatten().forEach { it.user = u }
// UserActivityList
userActivityList?.let { list ->
db.activity.saveAll(list.distinctBy { it.activityId to it.kind }.mapApply {
id = db.activity.findByUserAndKindAndActivityId(u, kind, activityId)()?.id ?: 0
})
}
// UserCharacterList
userCharacterList?.let { list ->
db.character.saveAll(list.distinctBy { it.characterId }.mapApply {
id = db.character.findByUserAndCharacterId(u, characterId)()?.id ?: 0
})
}
// UserCardList
userCardList?.let { list ->
db.card.saveAll(list.distinctBy { it.cardId }.mapApply {
id = db.card.findByUserAndCardId(u, cardId)()?.id ?: 0
})
}
// UserItemList
userItemList?.let { list ->
db.item.saveAll(list.distinctBy { it.itemKind to it.itemId }.mapApply {
id = db.item.findByUserAndItemKindAndItemId(u, itemKind, itemId)()?.id ?: 0
})
}
}
null
}
"CMUpsertUserSelectGacha" api@ {
val all: OngekiCMUpsertUserSelectGacha = mapper.convert(data["cmUpsertUserSelectGacha"]!!)
val selectLog:List<OngekiCMSelectGachaLog> = mapper.convert(data["selectGachaLogList"]!!)
// User data
val oldUser = db.data.findByCard_ExtId(uid)()
val u: UserData = all.userData?.get(0)?.apply {
id = oldUser?.id ?: 0
card = oldUser?.card ?: us.cardRepo.findByExtId(uid)() ?: (404 - "Card not found")
// Set eventWatchedDate with lastPlayDate, because client doesn't update it
cmEventWatchedDate = oldUser?.lastPlayDate ?: ""
db.data.save(this)
} ?: oldUser ?: return@api null
if(selectLog.isNotEmpty()) {
val selectionInfo = selectLog.first()
db.gacha.findByUserAndGachaId(u, selectionInfo.gachaId)?.apply {
// Total reset of selectPoints
selectPoint = 0
// Set the flag for the selection gacha so that the user cant use it anymore
useSelectPoint = 1
} ?: UserGacha().apply {
// It should be impossible to reach this
user = u
gachaId = selectionInfo.gachaId
db.gacha.save(this)
}
}
all.run {
// Set users
listOfNotNull(
userCharacterList, userCardList
).flatten().forEach { it.user = u }
if (all.isNewCharacterList?.contains("1") ?: false) {
// UserCharacterList
userCharacterList?.let { list ->
db.character.saveAll(list.distinctBy { it.characterId }.mapApply {
id = db.character.findByUserAndCharacterId(u, characterId)()?.id ?: 0
})
}
}
if (all.isNewCardList?.contains("1") ?: false) {
// UserCardList
userCardList?.let { list ->
db.card.saveAll(list.distinctBy { it.cardId }.mapApply {
id = db.card.findByUserAndCardId(u, cardId)()?.id ?: 0
})
}
}
}
null
}
"CMUpsertUserPrintPlaylog" api@ {
// User payment logs, useless
null
}
"CMUpsertUserPrint" api@ {
// User print information, useless
null
}
"CMUpsertUserPrintlog" api@ {
// User print logs, useless
null
}
"CMGetUserGachaSupply" {
// Mock function, not sure of functionality
mapOf("supplyId" to 0, "length" to 0, "supplyCardList" to emptyList<Any>())
}
"GetGameTheater" {
// Mock function, not sure of functionality
mapOf("length" to 0, "gameTheaterList" to emptyList<Any>(), "registIdList" to emptyList<Any>())
}
}

View File

@@ -151,6 +151,19 @@ interface OgkUserRegionsRepo: OngekiUserLinked<UserRegions> {
fun findByUserAndRegionId(user: UserData, regionId: Int): UserRegions? fun findByUserAndRegionId(user: UserData, regionId: Int): UserRegions?
} }
interface OgkGameGachaCardRepo : JpaRepository<GameGachaCard, Long> {
fun findAllByGachaId(gachaId: Long): List<GameGachaCard>
@Query("SELECT g FROM OngekiGameGachaCard g WHERE g.gachaId = :gachaId OR g.gachaId = 1112")
fun findAllByGachaIdAndPermanent(gachaId: Long): List<GameGachaCard>
}
interface OgkGameGachaRepo : JpaRepository<GameGacha, Long>
interface OgkUserGachaRepo : OngekiUserLinked<UserGacha> {
fun findByUserAndGachaId(user: UserData, gachaId: Long): UserGacha?
}
// Re:Fresh // Re:Fresh
interface OgkUserEventMapRepo : OngekiUserLinked<UserEventMap> interface OgkUserEventMapRepo : OngekiUserLinked<UserEventMap>
interface OgkUserSkinRepo : OngekiUserLinked<UserSkin> interface OgkUserSkinRepo : OngekiUserLinked<UserSkin>
@@ -195,6 +208,7 @@ class OngekiUserRepos(
val eventMap: OgkUserEventMapRepo, val eventMap: OgkUserEventMapRepo,
val skin: OgkUserSkinRepo, val skin: OgkUserSkinRepo,
val regions: OgkUserRegionsRepo, val regions: OgkUserRegionsRepo,
val gacha: OgkUserGachaRepo,
) )
@Component @Component
@@ -207,6 +221,8 @@ class OngekiGameRepos(
val present: OgkGamePresentRepo, val present: OgkGamePresentRepo,
val reward: OgkGameRewardRepo, val reward: OgkGameRewardRepo,
val skill: OgkGameSkillRepo, val skill: OgkGameSkillRepo,
val gachaCard: OgkGameGachaCardRepo,
val gacha:OgkGameGachaRepo
) )
@Component @Component

View File

@@ -1,6 +1,7 @@
package icu.samnyan.aqua.sega.ongeki.model package icu.samnyan.aqua.sega.ongeki.model
import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonProperty
import jakarta.persistence.* import jakarta.persistence.*
@Entity(name = "OngekiGameCard") @Entity(name = "OngekiGameCard")
@@ -112,3 +113,41 @@ class GameSkill {
var category: String = "" var category: String = ""
var info: String = "" var info: String = ""
} }
@Entity(name = "OngekiGameGachaCard")
@Table(name = "ongeki_game_gacha_card")
class GameGachaCard {
@Id
var cardId: Long = 0
var gachaId: Long = 0
var rarity: Int = 0
var weight: Int = 0
@JsonProperty("isPickup")
var isPickup: Boolean = false
@JsonProperty("isSelect")
var isSelect: Boolean = false
}
@Entity(name = "OngekiGameGacha")
@Table(name = "ongeki_game_gacha")
class GameGacha {
@Id
var gachaId: Long = 0
var gachaName: String = ""
var type: Int = 0
var kind: Int = 0
var maxSelectPoint: Int = 0
var ceilingCnt: Int = 0
var changeRateCnt1: Int = 0
var changeRateCnt2: Int = 0
var startDate: String = ""
var endDate: String = ""
var noticeStartDate: String = ""
var noticeEndDate: String = ""
var convertEndDate: String = ""
@JsonProperty("isCeiling")
var isCeiling: Boolean = false
}

View File

@@ -0,0 +1,44 @@
package icu.samnyan.aqua.sega.ongeki.model
class OngekiCMUpsertUserGacha {
var userData: List<UserData>? = null
var userCharacterList: List<UserCharacter>? = null
var userCardList: List<UserCard>? = null
var gameGachaCardList: List<GameGachaCard>? = null
var userItemList: List<UserItem>? = null
// These are strings with as many 1s as new elements are present
var isNewCharacterList: String? = null
var isNewCardList: String? = null
var isNewItemList: String? = null
}
class OngekiCMUpsertAll {
var userData: List<UserData>? = null
var userActivityList: List<UserActivity>? = null
var userCharacterList: List<UserCharacter>? = null
var userCardList: List<UserCard>? = null
var userItemList: List<UserItem>? = null
// These are strings with as many 1s as new elements are given
var isNewCharacterList: String? = null
var isNewCardList: String? = null
var isNewItemList: String? = null
}
class OngekiCMUpsertUserSelectGacha {
var userData: List<UserData>? = null
var userCharacterList: List<UserCharacter>? = null
var userCardList: List<UserCard>? = null
// These are strings with as many 1s as new elements are given
var isNewCharacterList: String? = null
var isNewCardList: String? = null
}
class OngekiCMSelectGachaLog {
var gachaId: Long = 0
var useSelectPoint: Int = 0
var convertType: Int = 0
var convertItem: Int = 0
}

View File

@@ -8,6 +8,7 @@ import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer
import jakarta.persistence.* import jakarta.persistence.*
import java.time.LocalDate import java.time.LocalDate
import java.time.LocalDateTime
@MappedSuperclass @MappedSuperclass
class OngekiUserEntity : BaseEntity(), IUserEntity<UserData> { class OngekiUserEntity : BaseEntity(), IUserEntity<UserData> {
@@ -517,10 +518,27 @@ class UserSkin : OngekiUserEntity() {
@Entity(name = "OngekiUserRegions") @Entity(name = "OngekiUserRegions")
@Table( @Table(
name = "ongeki_user_regions", name = "ongeki_user_regions",
uniqueConstraints = [UniqueConstraint(columnNames = ["user_id", "regionId"])] uniqueConstraints = [UniqueConstraint(columnNames = ["user_id", "region_id"])]
) )
class UserRegions : OngekiUserEntity() { class UserRegions : OngekiUserEntity() {
var regionId = 0 var regionId = 0
var playCount = 1 var playCount = 1
var created: String = LocalDate.now().toString() var created: String = LocalDate.now().toString()
}
@Entity(name="OngekiUserGacha")
@Table(
name = "ongeki_user_gacha",
uniqueConstraints = [UniqueConstraint(columnNames = ["user_id", "gacha_id"])]
)
class UserGacha : OngekiUserEntity() {
var gachaId:Long = 0
var totalGachaCnt = 0
var ceilingGachaCnt = 0
var selectPoint = 0
var useSelectPoint = 0
var dailyGachaCnt = 0
var fiveGachaCnt = 0
var elevenGachaCnt = 0
var dailyGachaDate: String = LocalDateTime.now().toString()
} }

View File

@@ -0,0 +1,840 @@
CREATE TABLE ongeki_game_gacha
(
gacha_id BIGINT AUTO_INCREMENT NOT NULL,
gacha_name VARCHAR(255) NOT NULL,
type INT NOT NULL,
kind INT NOT NULL,
is_ceiling BOOLEAN NOT NULL,
max_select_point INT NOT NULL,
ceiling_cnt INT NOT NULL,
change_rate_cnt1 INT NOT NULL,
change_rate_cnt2 INT NOT NULL,
start_date DATETIME NOT NULL,
end_date DATETIME NOT NULL,
notice_start_date DATETIME NOT NULL,
notice_end_date DATETIME NOT NULL,
convert_end_date DATETIME NOT NULL,
CONSTRAINT pk_ongk_gacha PRIMARY KEY (gacha_id)
);
CREATE TABLE ongeki_game_gacha_card
(
card_id BIGINT AUTO_INCREMENT NOT NULL,
gacha_id BIGINT NOT NULL,
rarity INT NOT NULL,
weight INT NOT NULL,
is_pickup BOOLEAN NOT NULL,
is_select BOOLEAN NOT NULL,
CONSTRAINT pk_ongk_gacha_card PRIMARY KEY (card_id, gacha_id)
);
ALTER TABLE ongeki_game_gacha_card
ADD CONSTRAINT FK_ONGEKI_GAME_GACHA_CARD_ON_GACHA FOREIGN KEY (gacha_id) REFERENCES ongeki_game_gacha (gacha_id );
CREATE TABLE ongeki_user_gacha
(
id BIGINT AUTO_INCREMENT NOT NULL,
user_id BIGINT NOT NULL,
gacha_id BIGINT NOT NULL,
total_gacha_cnt INT NOT NULL,
ceiling_gacha_cnt INT NOT NULL,
select_point INT NOT NULL,
use_select_point INT NOT NULL,
daily_gacha_cnt INT NOT NULL,
five_gacha_cnt INT NOT NULL,
eleven_gacha_cnt INT NOT NULL,
daily_gacha_date DATETIME NOT NULL,
CONSTRAINT pk_ongk_user_gacha PRIMARY KEY (id)
);
ALTER TABLE ongeki_user_gacha
ADD CONSTRAINT FK_ONGEKI_USER_GACHA_ON_USER FOREIGN KEY (user_id) REFERENCES ongeki_user_data (id);
ALTER TABLE ongeki_user_gacha
ADD CONSTRAINT FK_ONGEKI_USER_GACHA_ON_GACHA FOREIGN KEY (gacha_id) REFERENCES ongeki_game_gacha (gacha_id);
ALTER TABLE ongeki_user_gacha
ADD CONSTRAINT unq_ongk_user_gacha UNIQUE (user_id, gacha_id);
INSERT INTO ongeki_game_gacha (gacha_id, gacha_name, `type`, kind, is_ceiling, max_select_point, ceiling_cnt, change_rate_cnt1, change_rate_cnt2, start_date, end_date, notice_start_date, notice_end_date, convert_end_date)
VALUES
(1011, '無料ガチャ', 0, 3, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1012, '無料ガチャSR確定', 0, 3, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1112, 'レギュラーガチャ', 0, 0, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1123, 'AQUA属性オンリーガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1128, 'bitter chocolate kiss ガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1135, 'オンゲキ bright 大感謝祭ガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1137, 'テアトル展開!プロジェクト奏坂ドールズリミテッドガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1138, 'WONDER SHOOTER EASTER ガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1139, 'ラスボス登場!?悪の侵略者ガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1140, 'カラフルアンブレラガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1141, 'It''s Showtimeワンダフルサーカスガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1143, 'マーチングポケッツ ピックアップガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1144, 'bitter flavor ピックアップガチャ', 0, 4, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1145, '7EVENDAYS⇔HOLIDAYS ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1146, '⊿TRiEDGE ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1147, 'R.B.P. ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1148, '皇城 セツナ ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1149, 'ASTERISM ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1151, 'スラッシュスキル ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1152, '高瀬 梨緒オンリーガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1154, 'トラストスキル ピックアップガチャ', 0, 1, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1156, 'bright memory振り返りガチャ', 0, 2, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1159, 'オンゲキ&オンゲキ PLUS ピックアップガチャ', 0, 2, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1160, 'SUMMER SUMMER PLUS ピックアップガチャ', 0, 2, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1161, 'R.E.D. & R.E.D. PLUS ピックアップガチャ', 0, 2, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1162, 'bright & bright MEMORY ピックアップガチャ', 0, 2, 0, 0, 0, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000'),
(1167, '6周年記念!! 6rd Anniversaryセレクトガチャ', 0, 2, 1, 11, 11, 0, 0, '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2020-01-01 00:00:00.000', '2999-01-01 00:00:00.000', '2999-01-01 00:00:00.000');
INSERT INTO ongeki_game_gacha_card (card_id, gacha_id,rarity,weight,is_pickup,is_select)
VALUES
(100003, 1112, 2, 100, 0, 0),
(100003, 1149, 2, 100, 0, 0),
(100004, 1112, 2, 100, 0, 0),
(100004, 1149, 2, 100, 0, 0),
(100006, 1112, 3, 100, 0, 0),
(100006, 1159, 3, 100, 0, 0),
(100007, 1112, 3, 100, 0, 0),
(100007, 1159, 3, 100, 0, 0),
(100008, 1112, 4, 100, 0, 0),
(100008, 1159, 4, 100, 0, 0),
(100008, 1167, 4, 100, 0, 1),
(100012, 1112, 2, 100, 0, 0),
(100012, 1149, 2, 100, 0, 0),
(100013, 1112, 2, 100, 0, 0),
(100013, 1149, 2, 100, 0, 0),
(100015, 1112, 3, 100, 0, 0),
(100015, 1159, 3, 100, 0, 0),
(100016, 1112, 3, 100, 0, 0),
(100016, 1159, 3, 100, 0, 0),
(100017, 1112, 4, 100, 0, 0),
(100017, 1159, 4, 100, 0, 0),
(100017, 1167, 4, 100, 0, 1),
(100021, 1112, 2, 100, 0, 0),
(100021, 1149, 2, 100, 0, 0),
(100022, 1112, 2, 100, 0, 0),
(100022, 1149, 2, 100, 0, 0),
(100024, 1112, 3, 100, 0, 0),
(100024, 1159, 3, 100, 0, 0),
(100025, 1112, 3, 100, 0, 0),
(100025, 1159, 3, 100, 0, 0),
(100026, 1112, 4, 100, 0, 0),
(100026, 1159, 4, 100, 0, 0),
(100026, 1167, 4, 100, 0, 1),
(100030, 1112, 2, 100, 0, 0),
(100030, 1146, 2, 100, 0, 0),
(100030, 1152, 2, 100, 1, 0),
(100033, 1152, 3, 100, 1, 0),
(100033, 1159, 3, 100, 0, 0),
(100034, 1112, 4, 100, 0, 0),
(100034, 1152, 4, 100, 1, 0),
(100034, 1159, 4, 100, 0, 0),
(100034, 1167, 4, 100, 0, 1),
(100037, 1112, 2, 100, 0, 0),
(100037, 1146, 2, 100, 0, 0),
(100040, 1112, 3, 100, 0, 0),
(100040, 1159, 3, 100, 0, 0),
(100041, 1112, 4, 100, 0, 0),
(100041, 1159, 4, 100, 0, 0),
(100041, 1167, 4, 100, 0, 1),
(100044, 1112, 2, 100, 0, 0),
(100044, 1146, 2, 100, 0, 0),
(100047, 1112, 3, 100, 0, 0),
(100047, 1159, 3, 100, 0, 0),
(100048, 1112, 4, 100, 0, 0),
(100048, 1159, 4, 100, 0, 0),
(100048, 1167, 4, 100, 0, 1),
(100051, 1112, 2, 100, 0, 0),
(100051, 1144, 2, 100, 0, 0),
(100053, 1112, 3, 100, 0, 0),
(100053, 1144, 3, 100, 0, 0),
(100053, 1159, 3, 100, 0, 0),
(100054, 1112, 4, 100, 0, 0),
(100054, 1144, 4, 100, 0, 0),
(100054, 1159, 4, 100, 0, 0),
(100054, 1167, 4, 100, 0, 1),
(100057, 1112, 2, 100, 0, 0),
(100057, 1144, 2, 100, 0, 0),
(100059, 1112, 3, 100, 0, 0),
(100059, 1144, 3, 100, 0, 0),
(100059, 1159, 3, 100, 0, 0),
(100060, 1112, 4, 100, 0, 0),
(100060, 1144, 4, 100, 0, 0),
(100060, 1159, 4, 100, 0, 0),
(100060, 1167, 4, 100, 0, 1),
(100063, 1112, 2, 100, 0, 0),
(100063, 1147, 2, 100, 0, 0),
(100065, 1112, 3, 100, 0, 0),
(100065, 1147, 3, 100, 0, 0),
(100065, 1159, 3, 100, 0, 0),
(100066, 1112, 4, 100, 0, 0),
(100066, 1147, 4, 100, 0, 0),
(100066, 1159, 4, 100, 0, 0),
(100066, 1167, 4, 100, 0, 1),
(100069, 1112, 2, 100, 0, 0),
(100069, 1145, 2, 100, 0, 0),
(100071, 1112, 3, 100, 0, 0),
(100071, 1145, 3, 100, 0, 0),
(100071, 1159, 3, 100, 0, 0),
(100072, 1112, 4, 100, 0, 0),
(100072, 1145, 4, 100, 0, 0),
(100072, 1159, 4, 100, 0, 0),
(100072, 1167, 4, 100, 0, 1),
(100075, 1112, 2, 100, 0, 0),
(100075, 1145, 2, 100, 0, 0),
(100077, 1112, 3, 100, 0, 0),
(100077, 1145, 3, 100, 0, 0),
(100077, 1159, 3, 100, 0, 0),
(100078, 1112, 4, 100, 0, 0),
(100078, 1145, 4, 100, 0, 0),
(100078, 1159, 4, 100, 0, 0),
(100078, 1167, 4, 100, 0, 1),
(100081, 1112, 2, 100, 0, 0),
(100081, 1147, 2, 100, 0, 0),
(100083, 1112, 3, 100, 0, 0),
(100083, 1147, 3, 100, 0, 0),
(100083, 1159, 3, 100, 0, 0),
(100084, 1112, 4, 100, 0, 0),
(100084, 1147, 4, 100, 0, 0),
(100084, 1159, 4, 100, 0, 0),
(100084, 1167, 4, 100, 0, 1),
(100087, 1112, 2, 100, 0, 0),
(100087, 1147, 2, 100, 0, 0),
(100089, 1112, 3, 100, 0, 0),
(100089, 1147, 3, 100, 0, 0),
(100089, 1159, 3, 100, 0, 0),
(100090, 1112, 4, 100, 0, 0),
(100090, 1147, 4, 100, 0, 0),
(100090, 1159, 4, 100, 0, 0),
(100090, 1167, 4, 100, 0, 1),
(100173, 1112, 2, 100, 0, 0),
(100173, 1149, 2, 100, 0, 0),
(100174, 1112, 2, 100, 0, 0),
(100174, 1149, 2, 100, 0, 0),
(100175, 1112, 2, 100, 0, 0),
(100175, 1149, 2, 100, 0, 0),
(100176, 1112, 2, 100, 0, 0),
(100176, 1146, 2, 100, 0, 0),
(100176, 1152, 2, 100, 1, 0),
(100177, 1112, 2, 100, 0, 0),
(100177, 1146, 2, 100, 0, 0),
(100178, 1112, 2, 100, 0, 0),
(100178, 1146, 2, 100, 0, 0),
(100179, 1112, 2, 100, 0, 0),
(100179, 1144, 2, 100, 0, 0),
(100180, 1112, 2, 100, 0, 0),
(100180, 1144, 2, 100, 0, 0),
(100181, 1112, 2, 100, 0, 0),
(100181, 1147, 2, 100, 0, 0),
(100182, 1112, 2, 100, 0, 0),
(100182, 1145, 2, 100, 0, 0),
(100183, 1112, 2, 100, 0, 0),
(100183, 1145, 2, 100, 0, 0),
(100184, 1112, 2, 100, 0, 0),
(100184, 1147, 2, 100, 0, 0),
(100185, 1112, 2, 100, 0, 0),
(100185, 1147, 2, 100, 0, 0),
(100209, 1011, 2, 100, 0, 0),
(100223, 1112, 2, 100, 0, 0),
(100223, 1149, 2, 100, 0, 0),
(100224, 1112, 2, 100, 0, 0),
(100224, 1149, 2, 100, 0, 0),
(100225, 1112, 2, 100, 0, 0),
(100225, 1149, 2, 100, 0, 0),
(100226, 1112, 2, 100, 0, 0),
(100226, 1146, 2, 100, 0, 0),
(100226, 1152, 2, 100, 1, 0),
(100227, 1112, 2, 100, 0, 0),
(100227, 1146, 2, 100, 0, 0),
(100228, 1112, 2, 100, 0, 0),
(100228, 1146, 2, 100, 0, 0),
(100229, 1112, 2, 100, 0, 0),
(100229, 1144, 2, 100, 0, 0),
(100230, 1112, 2, 100, 0, 0),
(100230, 1144, 2, 100, 0, 0),
(100231, 1112, 2, 100, 0, 0),
(100231, 1147, 2, 100, 0, 0),
(100232, 1112, 2, 100, 0, 0),
(100232, 1145, 2, 100, 0, 0),
(100233, 1112, 2, 100, 0, 0),
(100233, 1145, 2, 100, 0, 0),
(100234, 1112, 2, 100, 0, 0),
(100234, 1147, 2, 100, 0, 0),
(100235, 1112, 2, 100, 0, 0),
(100235, 1147, 2, 100, 0, 0),
(100236, 1011, 3, 100, 0, 0),
(100236, 1012, 3, 100, 0, 0),
(100237, 1011, 3, 100, 0, 0),
(100237, 1012, 3, 100, 0, 0),
(100238, 1011, 3, 100, 0, 0),
(100238, 1012, 3, 100, 0, 0),
(100239, 1011, 3, 100, 0, 0),
(100239, 1012, 3, 100, 0, 0),
(100240, 1011, 3, 100, 0, 0),
(100240, 1012, 3, 100, 0, 0),
(100241, 1011, 3, 100, 0, 0),
(100241, 1012, 3, 100, 0, 0),
(100242, 1011, 3, 100, 0, 0),
(100242, 1012, 3, 100, 0, 0),
(100243, 1011, 3, 100, 0, 0),
(100243, 1012, 3, 100, 0, 0),
(100244, 1011, 3, 100, 0, 0),
(100244, 1012, 3, 100, 0, 0),
(100245, 1011, 3, 100, 0, 0),
(100245, 1012, 3, 100, 0, 0),
(100246, 1011, 3, 100, 0, 0),
(100246, 1012, 3, 100, 0, 0),
(100247, 1011, 3, 100, 0, 0),
(100247, 1012, 3, 100, 0, 0),
(100248, 1011, 3, 100, 0, 0),
(100248, 1012, 3, 100, 0, 0),
(100249, 1112, 3, 100, 0, 0),
(100249, 1159, 3, 100, 0, 0),
(100250, 1112, 3, 100, 0, 0),
(100250, 1159, 3, 100, 0, 0),
(100251, 1112, 3, 100, 0, 0),
(100251, 1159, 3, 100, 0, 0),
(100252, 1011, 3, 100, 0, 0),
(100252, 1012, 3, 100, 0, 0),
(100253, 1011, 3, 100, 0, 0),
(100253, 1012, 3, 100, 0, 0),
(100254, 1011, 3, 100, 0, 0),
(100254, 1012, 3, 100, 0, 0),
(100255, 1011, 3, 100, 0, 0),
(100255, 1012, 3, 100, 0, 0),
(100256, 1011, 3, 100, 0, 0),
(100256, 1012, 3, 100, 0, 0),
(100257, 1011, 3, 100, 0, 0),
(100257, 1012, 3, 100, 0, 0),
(100258, 1011, 3, 100, 0, 0),
(100258, 1012, 3, 100, 0, 0),
(100259, 1011, 3, 100, 0, 0),
(100259, 1012, 3, 100, 0, 0),
(100260, 1011, 3, 100, 0, 0),
(100260, 1012, 3, 100, 0, 0),
(100261, 1011, 3, 100, 0, 0),
(100261, 1012, 3, 100, 0, 0),
(100262, 1112, 3, 100, 0, 0),
(100262, 1159, 3, 100, 0, 0),
(100263, 1112, 3, 100, 0, 0),
(100263, 1159, 3, 100, 0, 0),
(100264, 1112, 3, 100, 0, 0),
(100264, 1159, 3, 100, 0, 0),
(100265, 1112, 3, 100, 0, 0),
(100265, 1152, 3, 100, 1, 0),
(100265, 1159, 3, 100, 0, 0),
(100266, 1112, 3, 100, 0, 0),
(100266, 1159, 3, 100, 0, 0),
(100267, 1112, 3, 100, 0, 0),
(100267, 1159, 3, 100, 0, 0),
(100268, 1112, 3, 100, 0, 0),
(100268, 1144, 3, 100, 0, 0),
(100268, 1159, 3, 100, 0, 0),
(100269, 1112, 3, 100, 0, 0),
(100269, 1144, 3, 100, 0, 0),
(100269, 1159, 3, 100, 0, 0),
(100270, 1112, 3, 100, 0, 0),
(100270, 1147, 3, 100, 0, 0),
(100270, 1159, 3, 100, 0, 0),
(100271, 1112, 3, 100, 0, 0),
(100271, 1145, 3, 100, 0, 0),
(100271, 1159, 3, 100, 0, 0),
(100272, 1112, 3, 100, 0, 0),
(100272, 1145, 3, 100, 0, 0),
(100272, 1159, 3, 100, 0, 0),
(100273, 1112, 3, 100, 0, 0),
(100273, 1147, 3, 100, 0, 0),
(100273, 1159, 3, 100, 0, 0),
(100274, 1112, 3, 100, 0, 0),
(100274, 1147, 3, 100, 0, 0),
(100274, 1159, 3, 100, 0, 0),
(100275, 1112, 4, 100, 0, 0),
(100275, 1159, 4, 100, 0, 0),
(100275, 1167, 4, 100, 0, 1),
(100276, 1112, 4, 100, 0, 0),
(100276, 1159, 4, 100, 0, 0),
(100276, 1167, 4, 100, 0, 1),
(100277, 1112, 4, 100, 0, 0),
(100277, 1159, 4, 100, 0, 0),
(100277, 1167, 4, 100, 0, 1),
(100278, 1112, 4, 100, 0, 0),
(100278, 1152, 4, 100, 1, 0),
(100278, 1159, 4, 100, 0, 0),
(100278, 1167, 4, 100, 0, 1),
(100280, 1112, 4, 100, 0, 0),
(100280, 1159, 4, 100, 0, 0),
(100280, 1167, 4, 100, 0, 1),
(100282, 1112, 4, 100, 0, 0),
(100282, 1144, 4, 100, 0, 0),
(100282, 1159, 4, 100, 0, 0),
(100282, 1167, 4, 100, 0, 1),
(100284, 1112, 4, 100, 0, 0),
(100284, 1145, 4, 100, 0, 0),
(100284, 1159, 4, 100, 0, 0),
(100284, 1167, 4, 100, 0, 1),
(100285, 1112, 4, 100, 0, 0),
(100285, 1145, 4, 100, 0, 0),
(100285, 1159, 4, 100, 0, 0),
(100285, 1167, 4, 100, 0, 1),
(100286, 1112, 4, 100, 0, 0),
(100286, 1147, 4, 100, 0, 0),
(100286, 1159, 4, 100, 0, 0),
(100286, 1167, 4, 100, 0, 1),
(100336, 1011, 3, 100, 0, 0),
(100336, 1012, 3, 100, 0, 0),
(100337, 1011, 3, 100, 0, 0),
(100337, 1012, 3, 100, 0, 0),
(100338, 1011, 3, 100, 0, 0),
(100338, 1012, 3, 100, 0, 0),
(100339, 1112, 2, 100, 0, 0),
(100339, 1149, 2, 100, 0, 0),
(100340, 1112, 2, 100, 0, 0),
(100340, 1149, 2, 100, 0, 0),
(100341, 1112, 2, 100, 0, 0),
(100341, 1149, 2, 100, 0, 0),
(100342, 1112, 2, 100, 0, 0),
(100342, 1146, 2, 100, 0, 0),
(100342, 1152, 2, 100, 1, 0),
(100343, 1112, 2, 100, 0, 0),
(100343, 1146, 2, 100, 0, 0),
(100344, 1112, 2, 100, 0, 0),
(100344, 1146, 2, 100, 0, 0),
(100345, 1112, 2, 100, 0, 0),
(100345, 1144, 2, 100, 0, 0),
(100346, 1112, 2, 100, 0, 0),
(100346, 1144, 2, 100, 0, 0),
(100347, 1112, 2, 100, 0, 0),
(100347, 1147, 2, 100, 0, 0),
(100348, 1112, 2, 100, 0, 0),
(100348, 1145, 2, 100, 0, 0),
(100349, 1112, 2, 100, 0, 0),
(100349, 1145, 2, 100, 0, 0),
(100350, 1112, 2, 100, 0, 0),
(100350, 1147, 2, 100, 0, 0),
(100351, 1112, 2, 100, 0, 0),
(100351, 1147, 2, 100, 0, 0),
(100407, 1112, 4, 100, 0, 0),
(100407, 1143, 4, 100, 0, 0),
(100407, 1160, 4, 100, 0, 0),
(100407, 1167, 4, 100, 0, 1),
(100411, 1112, 2, 100, 0, 0),
(100411, 1146, 2, 100, 0, 0),
(100411, 1152, 2, 100, 1, 0),
(100412, 1112, 2, 100, 0, 0),
(100412, 1146, 2, 100, 0, 0),
(100413, 1112, 2, 100, 0, 0),
(100413, 1146, 2, 100, 0, 0),
(100414, 1112, 2, 100, 0, 0),
(100415, 1112, 2, 100, 0, 0),
(100416, 1112, 2, 100, 0, 0),
(100417, 1112, 2, 100, 0, 0),
(100418, 1112, 3, 100, 0, 0),
(100418, 1149, 3, 100, 0, 0),
(100418, 1160, 3, 100, 0, 0),
(100419, 1112, 3, 100, 0, 0),
(100419, 1160, 3, 100, 0, 0),
(100420, 1112, 3, 100, 0, 0),
(100420, 1144, 3, 100, 0, 0),
(100421, 1147, 3, 100, 0, 0),
(100421, 1160, 3, 100, 0, 0),
(100422, 1112, 3, 100, 0, 0),
(100422, 1144, 3, 100, 0, 0),
(100422, 1160, 3, 100, 0, 0),
(100423, 1112, 3, 100, 0, 0),
(100423, 1160, 3, 100, 0, 0),
(100424, 1112, 3, 100, 0, 0),
(100424, 1143, 3, 100, 0, 0),
(100424, 1160, 3, 100, 0, 0),
(100425, 1112, 3, 100, 0, 0),
(100425, 1160, 3, 100, 0, 0),
(100426, 1112, 3, 100, 0, 0),
(100426, 1147, 3, 100, 0, 0),
(100426, 1160, 3, 100, 0, 0),
(100427, 1112, 3, 100, 0, 0),
(100427, 1160, 3, 100, 0, 0),
(100428, 1112, 3, 100, 0, 0),
(100428, 1160, 3, 100, 0, 0),
(100429, 1112, 3, 100, 0, 0),
(100429, 1160, 3, 100, 0, 0),
(100430, 1112, 3, 100, 0, 0),
(100430, 1160, 3, 100, 0, 0),
(100431, 1112, 4, 100, 0, 0),
(100431, 1143, 4, 100, 0, 0),
(100431, 1160, 4, 100, 0, 0),
(100431, 1167, 4, 100, 0, 1),
(100432, 1112, 4, 100, 0, 0),
(100432, 1143, 4, 100, 0, 0),
(100432, 1160, 4, 100, 0, 0),
(100432, 1167, 4, 100, 0, 1),
(100433, 1112, 4, 100, 0, 0),
(100433, 1160, 4, 100, 0, 0),
(100433, 1167, 4, 100, 0, 1),
(100434, 1112, 4, 100, 0, 0),
(100434, 1144, 4, 100, 0, 0),
(100434, 1160, 4, 100, 0, 0),
(100434, 1167, 4, 100, 0, 1),
(100435, 1112, 4, 100, 0, 0),
(100435, 1123, 4, 100, 0, 0),
(100435, 1147, 4, 100, 0, 0),
(100435, 1154, 4, 100, 0, 0),
(100435, 1160, 4, 100, 0, 0),
(100435, 1167, 4, 100, 0, 1),
(100436, 1112, 4, 100, 0, 0),
(100436, 1160, 4, 100, 0, 0),
(100436, 1167, 4, 100, 0, 1),
(100437, 1112, 4, 100, 0, 0),
(100437, 1160, 4, 100, 0, 0),
(100437, 1167, 4, 100, 0, 1),
(100438, 1112, 4, 100, 0, 0),
(100438, 1147, 4, 100, 0, 0),
(100438, 1160, 4, 100, 0, 0),
(100438, 1167, 4, 100, 0, 1),
(100439, 1112, 4, 100, 0, 0),
(100439, 1146, 4, 100, 0, 0),
(100439, 1152, 4, 100, 1, 0),
(100439, 1160, 4, 100, 0, 0),
(100439, 1167, 4, 100, 0, 1),
(100440, 1011, 2, 100, 0, 0),
(100441, 1011, 2, 100, 0, 0),
(100445, 1112, 2, 100, 0, 0),
(100445, 1143, 2, 100, 0, 0),
(100447, 1112, 2, 100, 0, 0),
(100447, 1143, 2, 100, 0, 0),
(100449, 1112, 2, 100, 0, 0),
(100449, 1143, 2, 100, 0, 0),
(100454, 1011, 4, 100, 0, 0),
(100606, 1112, 3, 100, 0, 0),
(100607, 1112, 3, 100, 0, 0),
(100608, 1112, 3, 100, 0, 0),
(100608, 1143, 3, 100, 0, 0),
(100608, 1160, 3, 100, 0, 0),
(100609, 1112, 3, 100, 0, 0),
(100609, 1143, 3, 100, 0, 0),
(100609, 1160, 3, 100, 0, 0),
(100610, 1112, 3, 100, 0, 0),
(100610, 1143, 3, 100, 0, 0),
(100610, 1160, 3, 100, 0, 0),
(100634, 1011, 3, 100, 0, 0),
(100634, 1012, 3, 100, 0, 0),
(100636, 1011, 3, 100, 0, 0),
(100636, 1012, 3, 100, 0, 0),
(100637, 1011, 3, 100, 0, 0),
(100637, 1012, 3, 100, 0, 0),
(100638, 1011, 3, 100, 0, 0),
(100638, 1012, 3, 100, 0, 0),
(100639, 1011, 3, 100, 0, 0),
(100639, 1012, 3, 100, 0, 0),
(100640, 1011, 3, 100, 0, 0),
(100640, 1012, 3, 100, 0, 0),
(100641, 1011, 3, 100, 0, 0),
(100641, 1012, 3, 100, 0, 0),
(100642, 1011, 3, 100, 0, 0),
(100642, 1012, 3, 100, 0, 0),
(100643, 1011, 3, 100, 0, 0),
(100643, 1012, 3, 100, 0, 0),
(100644, 1011, 3, 100, 0, 0),
(100644, 1012, 3, 100, 0, 0),
(100645, 1011, 3, 100, 0, 0),
(100645, 1012, 3, 100, 0, 0),
(100646, 1011, 3, 100, 0, 0),
(100646, 1012, 3, 100, 0, 0),
(100647, 1112, 2, 100, 0, 0),
(100648, 1112, 2, 100, 0, 0),
(100649, 1112, 2, 100, 0, 0),
(100650, 1011, 2, 100, 0, 0),
(100651, 1011, 2, 100, 0, 0),
(100652, 1011, 2, 100, 0, 0),
(100653, 1112, 2, 100, 0, 0),
(100653, 1143, 2, 100, 0, 0),
(100654, 1112, 2, 100, 0, 0),
(100654, 1143, 2, 100, 0, 0),
(100655, 1112, 2, 100, 0, 0),
(100655, 1143, 2, 100, 0, 0),
(100662, 1112, 2, 100, 0, 0),
(100665, 1011, 3, 100, 0, 0),
(100665, 1012, 3, 100, 0, 0),
(100666, 1011, 3, 100, 0, 0),
(100666, 1012, 3, 100, 0, 0),
(100667, 1011, 3, 100, 0, 0),
(100667, 1012, 3, 100, 0, 0),
(100692, 1112, 2, 100, 0, 0),
(100692, 1149, 2, 100, 0, 0),
(100693, 1112, 2, 100, 0, 0),
(100693, 1149, 2, 100, 0, 0),
(100694, 1112, 2, 100, 0, 0),
(100694, 1149, 2, 100, 0, 0),
(100701, 1112, 2, 100, 0, 0),
(100701, 1146, 2, 100, 0, 0),
(100701, 1152, 2, 100, 1, 0),
(100702, 1011, 2, 100, 0, 0),
(100703, 1011, 2, 100, 0, 0),
(100711, 1112, 3, 100, 0, 0),
(100711, 1161, 3, 100, 0, 0),
(100712, 1112, 3, 100, 0, 0),
(100712, 1161, 3, 100, 0, 0),
(100725, 1112, 4, 100, 0, 0),
(100725, 1146, 4, 100, 0, 0),
(100725, 1161, 4, 100, 0, 0),
(100725, 1167, 4, 100, 0, 1),
(100726, 1112, 4, 100, 0, 0),
(100726, 1161, 4, 100, 0, 0),
(100726, 1167, 4, 100, 0, 1),
(100755, 1112, 2, 100, 0, 0),
(100756, 1112, 2, 100, 0, 0),
(100757, 1112, 3, 100, 0, 0),
(100757, 1160, 3, 100, 0, 0),
(100758, 1112, 3, 100, 0, 0),
(100758, 1160, 3, 100, 0, 0),
(100759, 1112, 3, 100, 0, 0),
(100759, 1160, 3, 100, 0, 0),
(100760, 1112, 4, 100, 0, 0),
(100760, 1149, 4, 100, 0, 0),
(100760, 1160, 4, 100, 0, 0),
(100760, 1167, 4, 100, 0, 1),
(100761, 1112, 4, 100, 0, 0),
(100761, 1160, 4, 100, 0, 0),
(100761, 1167, 4, 100, 0, 1),
(100762, 1112, 3, 100, 0, 0),
(100762, 1160, 3, 100, 0, 0),
(100763, 1112, 3, 100, 0, 0),
(100763, 1160, 3, 100, 0, 0),
(100764, 1112, 3, 100, 0, 0),
(100764, 1160, 3, 100, 0, 0),
(100765, 1112, 3, 100, 0, 0),
(100765, 1160, 3, 100, 0, 0),
(100766, 1112, 3, 100, 0, 0),
(100766, 1146, 3, 100, 0, 0),
(100766, 1160, 3, 100, 0, 0),
(100767, 1112, 4, 100, 0, 0),
(100767, 1160, 4, 100, 0, 0),
(100767, 1167, 4, 100, 0, 1),
(100768, 1112, 4, 100, 0, 0),
(100768, 1160, 4, 100, 0, 0),
(100768, 1167, 4, 100, 0, 1),
(100771, 1112, 2, 100, 0, 0),
(100772, 1011, 3, 100, 0, 0),
(100772, 1012, 3, 100, 0, 0),
(100777, 1112, 3, 100, 0, 0),
(100777, 1146, 3, 100, 0, 0),
(100777, 1152, 3, 100, 1, 0),
(100777, 1160, 3, 100, 0, 0),
(100778, 1112, 3, 100, 0, 0),
(100778, 1160, 3, 100, 0, 0),
(100779, 1112, 4, 100, 0, 0),
(100779, 1154, 4, 100, 0, 0),
(100779, 1160, 4, 100, 0, 0),
(100779, 1167, 4, 100, 0, 1),
(100780, 1112, 4, 100, 0, 0),
(100780, 1149, 4, 100, 0, 0),
(100780, 1160, 4, 100, 0, 0),
(100780, 1167, 4, 100, 0, 1),
(100783, 1112, 3, 100, 0, 0),
(100783, 1160, 3, 100, 0, 0),
(100784, 1112, 4, 100, 0, 0),
(100784, 1160, 4, 100, 0, 0),
(100784, 1167, 4, 100, 0, 1),
(100785, 1112, 3, 100, 0, 0),
(100785, 1149, 3, 100, 0, 0),
(100785, 1151, 3, 100, 0, 0),
(100785, 1161, 3, 100, 0, 0),
(100786, 1112, 3, 100, 0, 0),
(100786, 1149, 3, 100, 0, 0),
(100786, 1151, 3, 100, 0, 0),
(100786, 1161, 3, 100, 0, 0),
(100787, 1112, 4, 100, 0, 0),
(100787, 1151, 4, 100, 0, 0),
(100787, 1161, 4, 100, 0, 0),
(100787, 1167, 4, 100, 0, 1),
(100805, 1112, 3, 100, 0, 0),
(100805, 1160, 3, 100, 0, 0),
(100842, 1112, 3, 100, 0, 0),
(100980, 1011, 4, 100, 0, 0),
(100982, 1112, 4, 100, 0, 0),
(100982, 1161, 4, 100, 0, 0),
(100982, 1167, 4, 100, 0, 1),
(100983, 1112, 4, 100, 0, 0),
(100983, 1161, 4, 100, 0, 0),
(100983, 1167, 4, 100, 0, 1),
(100984, 1137, 4, 100, 1, 0),
(100984, 1146, 4, 100, 0, 0),
(100984, 1167, 4, 100, 0, 1),
(100985, 1112, 4, 100, 0, 0),
(100985, 1161, 4, 100, 0, 0),
(100985, 1167, 4, 100, 0, 1),
(100986, 1137, 4, 100, 1, 0),
(100986, 1167, 4, 100, 0, 1),
(100987, 1112, 4, 100, 0, 0),
(100987, 1149, 4, 100, 0, 0),
(100987, 1154, 4, 100, 0, 0),
(100987, 1161, 4, 100, 0, 0),
(100987, 1167, 4, 100, 0, 1),
(100988, 1112, 4, 100, 0, 0),
(100988, 1154, 4, 100, 0, 0),
(100988, 1161, 4, 100, 0, 0),
(100988, 1167, 4, 100, 0, 1),
(100989, 1112, 4, 100, 0, 0),
(100989, 1123, 4, 100, 0, 0),
(100989, 1146, 4, 100, 0, 0),
(100989, 1152, 4, 100, 1, 0),
(100989, 1161, 4, 100, 0, 0),
(100989, 1167, 4, 100, 0, 1),
(100996, 1112, 3, 100, 0, 0),
(100996, 1161, 3, 100, 0, 0),
(100997, 1137, 3, 100, 1, 0),
(100998, 1137, 3, 100, 1, 0),
(100999, 1112, 3, 100, 0, 0),
(100999, 1161, 3, 100, 0, 0),
(101000, 1112, 3, 100, 0, 0),
(101000, 1161, 3, 100, 0, 0),
(101001, 1137, 3, 100, 1, 0),
(101002, 1137, 3, 100, 1, 0),
(101002, 1146, 3, 100, 0, 0),
(101003, 1112, 3, 100, 0, 0),
(101003, 1161, 3, 100, 0, 0),
(101004, 1112, 3, 100, 0, 0),
(101004, 1161, 3, 100, 0, 0),
(101005, 1112, 3, 100, 0, 0),
(101005, 1149, 3, 100, 0, 0),
(101005, 1161, 3, 100, 0, 0),
(101020, 1112, 2, 100, 0, 0),
(101020, 1149, 2, 100, 0, 0),
(101021, 1112, 2, 100, 0, 0),
(101021, 1146, 2, 100, 0, 0),
(101021, 1152, 2, 100, 1, 0),
(101022, 1112, 2, 100, 0, 0),
(101023, 1112, 2, 100, 0, 0),
(101023, 1146, 2, 100, 0, 0),
(101024, 1112, 2, 100, 0, 0),
(101024, 1146, 2, 100, 0, 0),
(101025, 1112, 2, 100, 0, 0),
(101025, 1149, 2, 100, 0, 0),
(101026, 1112, 2, 100, 0, 0),
(101293, 1112, 4, 100, 0, 0),
(101293, 1123, 4, 100, 0, 0),
(101293, 1137, 4, 100, 1, 0),
(101293, 1154, 4, 100, 0, 0),
(101293, 1161, 4, 100, 0, 0),
(101293, 1167, 4, 100, 0, 1),
(101294, 1112, 4, 100, 0, 0),
(101294, 1161, 4, 100, 0, 0),
(101294, 1167, 4, 100, 0, 1),
(101295, 1112, 4, 100, 0, 0),
(101295, 1123, 4, 100, 0, 0),
(101295, 1149, 4, 100, 0, 0),
(101295, 1161, 4, 100, 0, 0),
(101295, 1167, 4, 100, 0, 1),
(101296, 1112, 4, 100, 0, 0),
(101296, 1149, 4, 100, 0, 0),
(101296, 1151, 4, 100, 0, 0),
(101296, 1154, 4, 100, 0, 0),
(101296, 1161, 4, 100, 0, 0),
(101296, 1167, 4, 100, 0, 1),
(101297, 1137, 4, 100, 1, 0),
(101297, 1167, 4, 100, 0, 1),
(101298, 1112, 3, 100, 0, 0),
(101298, 1146, 3, 100, 0, 0),
(101298, 1161, 3, 100, 0, 0),
(101299, 1112, 3, 100, 0, 0),
(101299, 1161, 3, 100, 0, 0),
(101300, 1112, 3, 100, 0, 0),
(101300, 1151, 3, 100, 0, 0),
(101300, 1161, 3, 100, 0, 0),
(101301, 1137, 3, 100, 1, 0),
(101301, 1146, 3, 100, 0, 0),
(101301, 1152, 3, 100, 1, 0),
(101315, 1146, 2, 100, 0, 0),
(101315, 1151, 2, 100, 0, 0),
(101316, 1151, 2, 100, 0, 0),
(101320, 1112, 4, 100, 0, 0),
(101320, 1146, 4, 100, 0, 0),
(101320, 1161, 4, 100, 0, 0),
(101320, 1167, 4, 100, 0, 1),
(101321, 1112, 3, 100, 0, 0),
(101321, 1161, 3, 100, 0, 0),
(101553, 1011, 4, 100, 0, 0),
(101566, 1112, 3, 100, 0, 0),
(101566, 1135, 3, 100, 1, 0),
(101566, 1148, 3, 100, 0, 0),
(101566, 1162, 3, 100, 0, 0),
(101567, 1112, 4, 100, 0, 0),
(101567, 1135, 4, 100, 1, 0),
(101567, 1148, 4, 100, 0, 0),
(101567, 1151, 4, 100, 0, 0),
(101567, 1162, 4, 100, 0, 0),
(101567, 1167, 4, 100, 0, 1),
(101589, 1011, 2, 100, 0, 0),
(101592, 1112, 4, 100, 0, 0),
(101592, 1135, 4, 100, 1, 0),
(101592, 1149, 4, 100, 0, 0),
(101592, 1154, 4, 100, 0, 0),
(101592, 1162, 4, 100, 0, 0),
(101592, 1167, 4, 100, 0, 1),
(101593, 1137, 4, 100, 1, 0),
(101593, 1167, 4, 100, 0, 1),
(101594, 1112, 4, 100, 0, 0),
(101594, 1123, 4, 100, 0, 0),
(101594, 1135, 4, 100, 1, 0),
(101594, 1154, 4, 100, 0, 0),
(101594, 1162, 4, 100, 0, 0),
(101594, 1167, 4, 100, 0, 1),
(101595, 1112, 4, 100, 0, 0),
(101595, 1123, 4, 100, 0, 0),
(101595, 1128, 4, 100, 1, 0),
(101595, 1135, 4, 100, 1, 0),
(101595, 1167, 4, 100, 0, 1),
(101596, 1112, 4, 100, 0, 0),
(101596, 1138, 4, 100, 1, 0),
(101596, 1146, 4, 100, 0, 0),
(101596, 1154, 4, 100, 0, 0),
(101596, 1156, 4, 100, 1, 0),
(101596, 1162, 4, 100, 0, 0),
(101596, 1167, 4, 100, 0, 1),
(101597, 1112, 4, 100, 0, 0),
(101597, 1139, 4, 100, 1, 0),
(101597, 1156, 4, 100, 1, 0),
(101597, 1162, 4, 100, 0, 0),
(101597, 1167, 4, 100, 0, 1),
(101598, 1137, 4, 100, 1, 0),
(101598, 1148, 4, 100, 0, 0),
(101599, 1112, 4, 100, 0, 0),
(101599, 1140, 4, 100, 1, 0),
(101599, 1156, 4, 100, 1, 0),
(101599, 1162, 4, 100, 0, 0),
(101599, 1167, 4, 100, 0, 1),
(101600, 1112, 4, 100, 0, 0),
(101600, 1141, 4, 100, 1, 0),
(101600, 1156, 4, 100, 1, 0),
(101600, 1162, 4, 100, 0, 0),
(101600, 1167, 4, 100, 0, 1),
(101601, 1137, 3, 100, 1, 0),
(101602, 1112, 3, 100, 0, 0),
(101602, 1135, 3, 100, 1, 0),
(101602, 1149, 3, 100, 0, 0),
(101602, 1162, 3, 100, 0, 0),
(101603, 1112, 3, 100, 0, 0),
(101603, 1128, 3, 100, 1, 0),
(101603, 1135, 3, 100, 1, 0),
(101603, 1146, 3, 100, 0, 0),
(101603, 1162, 3, 100, 0, 0),
(101604, 1112, 3, 100, 0, 0),
(101604, 1138, 3, 100, 1, 0),
(101604, 1149, 3, 100, 0, 0),
(101604, 1156, 3, 100, 1, 0),
(101604, 1162, 3, 100, 0, 0),
(101605, 1112, 3, 100, 0, 0),
(101605, 1139, 3, 100, 1, 0),
(101605, 1156, 3, 100, 1, 0),
(101605, 1162, 3, 100, 0, 0),
(101606, 1137, 3, 100, 1, 0),
(101606, 1167, 3, 100, 0, 1),
(101607, 1112, 3, 100, 0, 0),
(101607, 1140, 3, 100, 1, 0),
(101607, 1156, 3, 100, 1, 0),
(101607, 1162, 3, 100, 0, 0),
(101608, 1112, 3, 100, 0, 0),
(101608, 1141, 3, 100, 1, 0),
(101608, 1156, 3, 100, 1, 0),
(101608, 1162, 3, 100, 0, 0),
(101619, 1112, 2, 100, 0, 0),
(101619, 1135, 2, 100, 1, 0),
(101619, 1148, 2, 100, 0, 0),
(101620, 1011, 2, 100, 0, 0),
(101627, 1011, 4, 100, 0, 0);