diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 38d573b..8cc2b37 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,13 @@ - + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index bd41cf1..1068a2c 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -1,7 +1,7 @@ - + #@ ` @@ -15,5 +15,18 @@ + + + #@ + ` + + + root + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 4f378be..ae555b7 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,19 +1,21 @@ - + mysql.8 true com.mysql.cj.jdbc.Driver - jdbc:mysql://localhost:3306/xianshu - - - - - - - - + jdbc:mysql://localhost:3306/userinfo + + + mysql + true + true + Hibernate + +D:/idea/XianShuServer2/src/main/resources/hibernate.cfg.xml + com.mysql.jdbc.Driver + jdbc:mysql://localhost:3306/userinfo \ No newline at end of file diff --git a/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e.xml b/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e.xml new file mode 100644 index 0000000..e83ca21 --- /dev/null +++ b/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e.xml @@ -0,0 +1,1320 @@ + + + + + 8.0.16 + InnoDB + InnoDB + lower/lower + + + utf8mb4_0900_ai_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + 1 + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + armscii8 + 0 + + + armscii8 + 1 + + + ascii + 0 + + + ascii + 1 + + + big5 + 0 + + + big5 + 1 + + + binary + 1 + + + cp1250 + 0 + + + cp1250 + 0 + + + cp1250 + 0 + + + cp1250 + 1 + + + cp1250 + 0 + + + cp1251 + 0 + + + cp1251 + 0 + + + cp1251 + 1 + + + cp1251 + 0 + + + cp1251 + 0 + + + cp1256 + 0 + + + cp1256 + 1 + + + cp1257 + 0 + + + cp1257 + 1 + + + cp1257 + 0 + + + cp850 + 0 + + + cp850 + 1 + + + cp852 + 0 + + + cp852 + 1 + + + cp866 + 0 + + + cp866 + 1 + + + cp932 + 0 + + + cp932 + 1 + + + dec8 + 0 + + + dec8 + 1 + + + eucjpms + 0 + + + eucjpms + 1 + + + euckr + 0 + + + euckr + 1 + + + gb18030 + 0 + + + gb18030 + 1 + + + gb18030 + 0 + + + gb2312 + 0 + + + gb2312 + 1 + + + gbk + 0 + + + gbk + 1 + + + geostd8 + 0 + + + geostd8 + 1 + + + greek + 0 + + + greek + 1 + + + hebrew + 0 + + + hebrew + 1 + + + hp8 + 0 + + + hp8 + 1 + + + keybcs2 + 0 + + + keybcs2 + 1 + + + koi8r + 0 + + + koi8r + 1 + + + koi8u + 0 + + + koi8u + 1 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 1 + + + latin2 + 0 + + + latin2 + 0 + + + latin2 + 0 + + + latin2 + 1 + + + latin2 + 0 + + + latin5 + 0 + + + latin5 + 1 + + + latin7 + 0 + + + latin7 + 0 + + + latin7 + 1 + + + latin7 + 0 + + + macce + 0 + + + macce + 1 + + + macroman + 0 + + + macroman + 1 + + + sjis + 0 + + + sjis + 1 + + + swe7 + 0 + + + swe7 + 1 + + + tis620 + 0 + + + tis620 + 1 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 1 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ujis + 0 + + + ujis + 1 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 1 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16le + 0 + + + utf16le + 1 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 1 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 1 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8mb4 + 1 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8_general_ci +
+ +
+ utf8_general_ci +
+ + gb2312_chinese_ci +
+ + 1 + int(11)|0s + 1 + normal + + + 2 + varchar(45)|0s + normal + utf8mb4_0900_ai_ci + + + 3 + float|0s + normal + + + 4 + varchar(45)|0s + normal + utf8mb4_0900_ai_ci + + + 5 + varchar(45)|0s + normal + utf8mb4_0900_ai_ci + + + 6 + int(11)|0s + normal + + + sellerID + btree + + + 1 + bookId + 1 + + + sellerID + user + userID + + + 1 + int(11)|0s + 1 + 1 + normal + + + 2 + int(11)|0s + normal + + + 3 + int(11)|0s + normal + + + 4 + int(11)|0s + 1 + normal + + + sellerID + btree + + + 1 + orderId + 1 + + + sellerID + user + userID + + + sellerID + user + userID + + + 1 + int(11)|0s + 1 + normal + + + 2 + int(11)|0s + normal + + + 3 + int(11)|0s + normal + + + bookid + btree + + + 1 + userID + 1 + + + userID + user + userID + + + bookid + book + bookId + + + 1 + varchar(45)|0s + 1 + normal + utf8mb4_0900_ai_ci + + + 2 + varchar(20)|0s + 1 + normal + utf8mb4_0900_ai_ci + + + 3 + varchar(20)|0s + normal + utf8mb4_0900_ai_ci + + + 4 + varchar(4)|0s + normal + utf8mb4_0900_ai_ci + + + 5 + int(11)|0s + 1 + 1 + normal + + + username + 1 + btree + + + userID + 1 + btree + + + 1 + userID + 1 + + + username + username_UNIQUE + + + userID + userID_UNIQUE + +
+
\ No newline at end of file diff --git a/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e/storage_v2/_src_/schema/information_schema.FNRwLQ.meta new file mode 100644 index 0000000..1ff3db2 --- /dev/null +++ b/.idea/dataSources/3b24039d-522b-4006-804e-1e90f02ed18e/storage_v2/_src_/schema/information_schema.FNRwLQ.meta @@ -0,0 +1,2 @@ +#n:information_schema +! [null, 0, null, null, -2147483648, -2147483648] diff --git a/.idea/dataSources/85d1e83e-dc62-4c0e-95b8-fb660af98935/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/.idea/dataSources/85d1e83e-dc62-4c0e-95b8-fb660af98935/storage_v2/_src_/schema/information_schema.FNRwLQ.meta new file mode 100644 index 0000000..1ff3db2 --- /dev/null +++ b/.idea/dataSources/85d1e83e-dc62-4c0e-95b8-fb660af98935/storage_v2/_src_/schema/information_schema.FNRwLQ.meta @@ -0,0 +1,2 @@ +#n:information_schema +! [null, 0, null, null, -2147483648, -2147483648] diff --git a/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58.xml b/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58.xml new file mode 100644 index 0000000..2b149b1 --- /dev/null +++ b/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58.xml @@ -0,0 +1,1290 @@ + + + + + 8.0.16 + InnoDB + InnoDB + lower/lower + + + utf8mb4_0900_ai_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + utf8mb4_0900_ai_ci + + + 1 + utf8_general_ci + + + utf8mb4_0900_ai_ci + + + armscii8 + 0 + + + armscii8 + 1 + + + ascii + 0 + + + ascii + 1 + + + big5 + 0 + + + big5 + 1 + + + binary + 1 + + + cp1250 + 0 + + + cp1250 + 0 + + + cp1250 + 0 + + + cp1250 + 1 + + + cp1250 + 0 + + + cp1251 + 0 + + + cp1251 + 0 + + + cp1251 + 1 + + + cp1251 + 0 + + + cp1251 + 0 + + + cp1256 + 0 + + + cp1256 + 1 + + + cp1257 + 0 + + + cp1257 + 1 + + + cp1257 + 0 + + + cp850 + 0 + + + cp850 + 1 + + + cp852 + 0 + + + cp852 + 1 + + + cp866 + 0 + + + cp866 + 1 + + + cp932 + 0 + + + cp932 + 1 + + + dec8 + 0 + + + dec8 + 1 + + + eucjpms + 0 + + + eucjpms + 1 + + + euckr + 0 + + + euckr + 1 + + + gb18030 + 0 + + + gb18030 + 1 + + + gb18030 + 0 + + + gb2312 + 0 + + + gb2312 + 1 + + + gbk + 0 + + + gbk + 1 + + + geostd8 + 0 + + + geostd8 + 1 + + + greek + 0 + + + greek + 1 + + + hebrew + 0 + + + hebrew + 1 + + + hp8 + 0 + + + hp8 + 1 + + + keybcs2 + 0 + + + keybcs2 + 1 + + + koi8r + 0 + + + koi8r + 1 + + + koi8u + 0 + + + koi8u + 1 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 0 + + + latin1 + 1 + + + latin2 + 0 + + + latin2 + 0 + + + latin2 + 0 + + + latin2 + 1 + + + latin2 + 0 + + + latin5 + 0 + + + latin5 + 1 + + + latin7 + 0 + + + latin7 + 0 + + + latin7 + 1 + + + latin7 + 0 + + + macce + 0 + + + macce + 1 + + + macroman + 0 + + + macroman + 1 + + + sjis + 0 + + + sjis + 1 + + + swe7 + 0 + + + swe7 + 1 + + + tis620 + 0 + + + tis620 + 1 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 1 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ucs2 + 0 + + + ujis + 0 + + + ujis + 1 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 1 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16 + 0 + + + utf16le + 0 + + + utf16le + 1 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 1 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf32 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 1 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8 + 0 + + + utf8mb4 + 1 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + + utf8mb4 + 0 + + +
+ utf8mb4_0900_ai_ci +
+ + MEMORY +
+ + gb2312_chinese_ci +
+ + 1 + int(11)|0s + 1 + normal + + + 2 + varchar(45)|0s + normal + utf8mb4_0900_ai_ci + + + 3 + float|0s + normal + + + 4 + varchar(45)|0s + normal + utf8mb4_0900_ai_ci + + + 5 + varchar(50)|0s + normal + utf8mb4_0900_ai_ci + + + 6 + int(11)|0s + normal + + + 1 + bookId + 1 + + + 1 + int(11)|0s + 1 + 1 + normal + + + 2 + int(11)|0s + normal + + + 3 + int(11)|0s + normal + + + 4 + int(11)|0s + 1 + normal + + + 1 + orderId + 1 + + + 1 + int(11)|0s + 1 + normal + + + 2 + int(11)|0s + normal + + + 3 + int(11)|0s + normal + + + 4 + int(11)|0s + 1 + 1 + normal + + + 1 + itemid + 1 + + + 1 + varchar(45)|0s + 1 + normal + utf8mb4_0900_ai_ci + + + 2 + varchar(20)|0s + 1 + normal + utf8mb4_0900_ai_ci + + + 3 + varchar(20)|0s + normal + utf8mb4_0900_ai_ci + + + 4 + varchar(4)|0s + normal + utf8mb4_0900_ai_ci + + + 5 + int(11)|0s + 1 + 1 + normal + + + username + 1 + btree + + + userID + 1 + btree + + + 1 + userID + 1 + + + username + username_UNIQUE + + + userID + userID_UNIQUE + +
+
\ No newline at end of file diff --git a/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58/storage_v2/_src_/schema/information_schema.FNRwLQ.meta new file mode 100644 index 0000000..1ff3db2 --- /dev/null +++ b/.idea/dataSources/de9cc106-e395-49cd-8c89-b24234398d58/storage_v2/_src_/schema/information_schema.FNRwLQ.meta @@ -0,0 +1,2 @@ +#n:information_schema +! [null, 0, null, null, -2147483648, -2147483648] diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63574ec --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 0548357..919019a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,17 @@ - + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 491a511..b160d41 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,17 +2,23 @@ - + - - + + + +