diff --git a/debug/grille.o b/debug/grille.o index 77708f29336c4884c5970d0b9f056932f135a12a..7a55e049be5000d6a5666b08c73ddc393b750c88 100644 Binary files a/debug/grille.o and b/debug/grille.o differ diff --git a/debug/main.o b/debug/main.o index b19774a5d12225b79a10760f5a30fdc93fcc28ac..fe8b5042419573ae04594d9294ef5597b5defea2 100644 Binary files a/debug/main.o and b/debug/main.o differ diff --git a/debug/moc_grille.cpp b/debug/moc_grille.cpp index 59aeaceaa89d22659273cce35ee985937c3643b4..a0d5e823b47792ca9adf48c446b908bd1664a4ab 100644 --- a/debug/moc_grille.cpp +++ b/debug/moc_grille.cpp @@ -23,8 +23,8 @@ QT_BEGIN_MOC_NAMESPACE QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_Grille_t { - QByteArrayData data[20]; - char stringdata0[211]; + QByteArrayData data[23]; + char stringdata0[239]; }; #define QT_MOC_LITERAL(idx, ofs, len) \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ @@ -39,29 +39,32 @@ QT_MOC_LITERAL(2, 18, 0), // "" QT_MOC_LITERAL(3, 19, 12), // "focusChanged" QT_MOC_LITERAL(4, 32, 12), // "verifClicked" QT_MOC_LITERAL(5, 45, 19), // "chiffreActifChanged" -QT_MOC_LITERAL(6, 65, 14), // "changer_valeur" -QT_MOC_LITERAL(7, 80, 6), // "valeur" -QT_MOC_LITERAL(8, 87, 5), // "Carre" -QT_MOC_LITERAL(9, 93, 4), // "Case" -QT_MOC_LITERAL(10, 98, 15), // "colorer_voisins" -QT_MOC_LITERAL(11, 114, 5), // "focus" -QT_MOC_LITERAL(12, 120, 13), // "verif_matrice" -QT_MOC_LITERAL(13, 134, 17), // "set_chiffre_actif" -QT_MOC_LITERAL(14, 152, 1), // "i" -QT_MOC_LITERAL(15, 154, 6), // "values" -QT_MOC_LITERAL(16, 161, 22), // "QList<QList<QString> >" -QT_MOC_LITERAL(17, 184, 6), // "colors" -QT_MOC_LITERAL(18, 191, 8), // "verifier" -QT_MOC_LITERAL(19, 200, 10) // "coloration" +QT_MOC_LITERAL(6, 65, 11), // "gameIsSaved" +QT_MOC_LITERAL(7, 77, 14), // "changer_valeur" +QT_MOC_LITERAL(8, 92, 6), // "valeur" +QT_MOC_LITERAL(9, 99, 5), // "Carre" +QT_MOC_LITERAL(10, 105, 4), // "Case" +QT_MOC_LITERAL(11, 110, 15), // "colorer_voisins" +QT_MOC_LITERAL(12, 126, 5), // "focus" +QT_MOC_LITERAL(13, 132, 13), // "verif_matrice" +QT_MOC_LITERAL(14, 146, 17), // "set_chiffre_actif" +QT_MOC_LITERAL(15, 164, 1), // "i" +QT_MOC_LITERAL(16, 166, 9), // "save_grid" +QT_MOC_LITERAL(17, 176, 6), // "values" +QT_MOC_LITERAL(18, 183, 22), // "QList<QList<QString> >" +QT_MOC_LITERAL(19, 206, 6), // "colors" +QT_MOC_LITERAL(20, 213, 8), // "verifier" +QT_MOC_LITERAL(21, 222, 10), // "coloration" +QT_MOC_LITERAL(22, 233, 5) // "saved" }, "Grille\0valChanged\0\0focusChanged\0" "verifClicked\0chiffreActifChanged\0" - "changer_valeur\0valeur\0Carre\0Case\0" - "colorer_voisins\0focus\0verif_matrice\0" - "set_chiffre_actif\0i\0values\0" - "QList<QList<QString> >\0colors\0verifier\0" - "coloration" + "gameIsSaved\0changer_valeur\0valeur\0" + "Carre\0Case\0colorer_voisins\0focus\0" + "verif_matrice\0set_chiffre_actif\0i\0" + "save_grid\0values\0QList<QList<QString> >\0" + "colors\0verifier\0coloration\0saved" }; #undef QT_MOC_LITERAL @@ -71,48 +74,54 @@ static const uint qt_meta_data_Grille[] = { 8, // revision 0, // classname 0, 0, // classinfo - 8, 14, // methods - 4, 76, // properties + 10, 14, // methods + 5, 88, // properties 0, 0, // enums/sets 0, 0, // constructors 0, // flags - 4, // signalCount + 5, // signalCount // signals: name, argc, parameters, tag, flags - 1, 0, 54, 2, 0x06 /* Public */, - 3, 0, 55, 2, 0x06 /* Public */, - 4, 0, 56, 2, 0x06 /* Public */, - 5, 0, 57, 2, 0x06 /* Public */, + 1, 0, 64, 2, 0x06 /* Public */, + 3, 0, 65, 2, 0x06 /* Public */, + 4, 0, 66, 2, 0x06 /* Public */, + 5, 0, 67, 2, 0x06 /* Public */, + 6, 0, 68, 2, 0x06 /* Public */, // methods: name, argc, parameters, tag, flags - 6, 3, 58, 2, 0x02 /* Public */, - 10, 3, 65, 2, 0x02 /* Public */, - 12, 0, 72, 2, 0x02 /* Public */, - 13, 1, 73, 2, 0x02 /* Public */, + 7, 3, 69, 2, 0x02 /* Public */, + 11, 3, 76, 2, 0x02 /* Public */, + 13, 0, 83, 2, 0x02 /* Public */, + 14, 1, 84, 2, 0x02 /* Public */, + 16, 0, 87, 2, 0x02 /* Public */, // signals: parameters QMetaType::Void, QMetaType::Void, QMetaType::Void, QMetaType::Void, + QMetaType::Void, // methods: parameters - QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 7, 8, 9, - QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Bool, 8, 9, 11, + QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 8, 9, 10, + QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Bool, 9, 10, 12, + QMetaType::Void, + QMetaType::Void, QMetaType::Int, 15, QMetaType::Void, - QMetaType::Void, QMetaType::Int, 14, // properties: name, type, flags - 15, 0x80000000 | 16, 0x0049500b, - 17, 0x80000000 | 16, 0x0049500b, - 18, QMetaType::Int, 0x00495003, - 19, QMetaType::Int, 0x00495003, + 17, 0x80000000 | 18, 0x0049500b, + 19, 0x80000000 | 18, 0x0049500b, + 20, QMetaType::Int, 0x00495003, + 21, QMetaType::Int, 0x00495003, + 22, QMetaType::Bool, 0x00495003, // properties: notify_signal_id 0, 1, 2, 3, + 4, 0 // eod }; @@ -127,10 +136,12 @@ void Grille::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void case 1: _t->focusChanged(); break; case 2: _t->verifClicked(); break; case 3: _t->chiffreActifChanged(); break; - case 4: _t->changer_valeur((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; - case 5: _t->colorer_voisins((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< bool(*)>(_a[3]))); break; - case 6: _t->verif_matrice(); break; - case 7: _t->set_chiffre_actif((*reinterpret_cast< int(*)>(_a[1]))); break; + case 4: _t->gameIsSaved(); break; + case 5: _t->changer_valeur((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; + case 6: _t->colorer_voisins((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< bool(*)>(_a[3]))); break; + case 7: _t->verif_matrice(); break; + case 8: _t->set_chiffre_actif((*reinterpret_cast< int(*)>(_a[1]))); break; + case 9: _t->save_grid(); break; default: ; } } else if (_c == QMetaObject::IndexOfMethod) { @@ -163,6 +174,13 @@ void Grille::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void return; } } + { + using _t = void (Grille::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Grille::gameIsSaved)) { + *result = 4; + return; + } + } } else if (_c == QMetaObject::RegisterPropertyMetaType) { switch (_id) { default: *reinterpret_cast<int*>(_a[0]) = -1; break; @@ -182,6 +200,7 @@ void Grille::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void case 1: *reinterpret_cast< QList<QList<QString> >*>(_v) = _t->colors; break; case 2: *reinterpret_cast< int*>(_v) = _t->verif; break; case 3: *reinterpret_cast< int*>(_v) = _t->chiffre_IsActif; break; + case 4: *reinterpret_cast< bool*>(_v) = _t->isSaved; break; default: break; } } else if (_c == QMetaObject::WriteProperty) { @@ -213,6 +232,12 @@ void Grille::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void Q_EMIT _t->chiffreActifChanged(); } break; + case 4: + if (_t->isSaved != *reinterpret_cast< bool*>(_v)) { + _t->isSaved = *reinterpret_cast< bool*>(_v); + Q_EMIT _t->gameIsSaved(); + } + break; default: break; } } else if (_c == QMetaObject::ResetProperty) { @@ -249,29 +274,29 @@ int Grille::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 8) + if (_id < 10) qt_static_metacall(this, _c, _id, _a); - _id -= 8; + _id -= 10; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 8) + if (_id < 10) *reinterpret_cast<int*>(_a[0]) = -1; - _id -= 8; + _id -= 10; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty || _c == QMetaObject::ResetProperty || _c == QMetaObject::RegisterPropertyMetaType) { qt_static_metacall(this, _c, _id, _a); - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::QueryPropertyDesignable) { - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::QueryPropertyScriptable) { - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::QueryPropertyStored) { - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::QueryPropertyEditable) { - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::QueryPropertyUser) { - _id -= 4; + _id -= 5; } #endif // QT_NO_PROPERTIES return _id; @@ -300,5 +325,11 @@ void Grille::chiffreActifChanged() { QMetaObject::activate(this, &staticMetaObject, 3, nullptr); } + +// SIGNAL 4 +void Grille::gameIsSaved() +{ + QMetaObject::activate(this, &staticMetaObject, 4, nullptr); +} QT_WARNING_POP QT_END_MOC_NAMESPACE diff --git a/debug/moc_grille.o b/debug/moc_grille.o index f71ab924e320d4593e13b02d02cf781c6daa1ddb..590e2b2174d331d0e79152028f663744f0418c69 100644 Binary files a/debug/moc_grille.o and b/debug/moc_grille.o differ diff --git a/debug/qrc_qml.cpp b/debug/qrc_qml.cpp index 03861552289fd41533d77e1953df05db7432503f..9ef5fa40b73f5542782cea51e810bab953756adb 100644 --- a/debug/qrc_qml.cpp +++ b/debug/qrc_qml.cpp @@ -104,114 +104,120 @@ static const unsigned char qt_resource_data[] = { 0x7f,0xbe,0x6c,0xda,0x86,0x7c,0x2f,0x2e,0x4f,0x7c,0x64,0x9f,0xa7,0x9f,0x9a,0x11, 0x84,0xb6, // C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku/main.qml - 0x0,0x0,0x6,0x93, + 0x0,0x0,0x6,0xfc, 0x0, - 0x0,0x2b,0x8,0x78,0x9c,0xed,0x99,0xdd,0x6e,0xdb,0x36,0x14,0xc7,0xef,0x3,0xe4, - 0x1d,0x58,0xf7,0xa2,0xe,0xba,0xb9,0x96,0xfc,0x19,0x67,0xc6,0x90,0x6,0x6d,0x57, - 0xa0,0x5d,0xd7,0xb4,0x68,0x2f,0x8a,0x20,0x60,0x24,0xda,0x66,0x4c,0x53,0xa,0x45, - 0xe5,0xa3,0x81,0x1f,0xa8,0xcf,0xd1,0x17,0xdb,0xa1,0xe4,0xf,0x51,0xa2,0x25,0x79, - 0xb3,0x2e,0x36,0x98,0x17,0x89,0x44,0x1e,0x52,0x87,0xbf,0xff,0x39,0x94,0x48,0xd3, - 0x99,0xef,0x9,0x89,0x3e,0xca,0x8f,0x21,0x75,0xa6,0xc8,0x6e,0x58,0xd6,0xe1,0x1, - 0xd5,0x2a,0x1b,0x5f,0x29,0x77,0xbd,0x3b,0x73,0xdb,0x3b,0xfc,0xe0,0x85,0x32,0x40, - 0x56,0x23,0xdb,0x76,0xe6,0x71,0x29,0x3c,0x16,0xa8,0x9e,0x9d,0xc3,0x83,0xc3,0x83, - 0xc5,0x40,0x8f,0x87,0x7,0x8,0xa,0x75,0xd1,0x0,0x9,0xcf,0x93,0xf1,0xad,0xe3, - 0x31,0x4f,0xc,0x50,0xed,0x29,0xe9,0x12,0x67,0x84,0x6b,0x71,0xed,0x1d,0x75,0xe5, - 0x64,0x80,0xba,0x9d,0x4e,0x7c,0x3f,0x21,0x74,0x3c,0x91,0x3,0xd4,0xb3,0x7a,0x71, - 0xc5,0x2d,0xd,0xe8,0x15,0x23,0x3,0x24,0x45,0x48,0xe2,0x2a,0x49,0xa5,0xaa,0xb8, - 0x9,0x3e,0x8b,0x7a,0xed,0x53,0xe8,0x7a,0xd3,0xb0,0x76,0xa4,0x9e,0xaf,0x1a,0x47, - 0x21,0x77,0x24,0xf5,0x38,0x72,0x26,0xc4,0x99,0xd6,0x8f,0x16,0xce,0x44,0x43,0x85, - 0xe4,0xc3,0xd5,0x35,0x91,0x67,0xbe,0x6c,0xdc,0x12,0x41,0x47,0x97,0x33,0x2c,0x5, - 0x75,0x48,0xfd,0xe8,0x24,0x61,0x85,0x5,0x8a,0x5a,0xd1,0x30,0xdb,0x83,0x12,0x91, - 0x30,0xa5,0xa3,0x7a,0x54,0x3b,0x1c,0xe,0xad,0xe4,0x83,0x54,0x11,0x24,0x8,0x19, - 0xf4,0x8a,0xdd,0x1f,0x2a,0xef,0x4f,0x8c,0x16,0x82,0x38,0x12,0xf3,0x31,0x23,0x8d, - 0x88,0xd0,0xb0,0xf6,0xb4,0x4f,0x48,0xb7,0xd5,0xab,0x15,0x99,0x4b,0x72,0x2f,0xad, - 0xe8,0xef,0xb0,0xf6,0x52,0xe0,0x5b,0xf,0xdd,0x7a,0x61,0x80,0xf0,0x2d,0xf9,0x8e, - 0xc4,0xcf,0x1f,0x61,0x10,0x50,0xc4,0x30,0xf2,0xb1,0x90,0x94,0xa0,0x27,0xc9,0xf1, - 0xe6,0xeb,0x4b,0xc2,0x2,0xf2,0xf8,0xaf,0xdc,0xed,0x46,0x65,0x2b,0x77,0xdf,0x32, - 0xf4,0x80,0x30,0xa,0x39,0x41,0x44,0x8,0x12,0x8a,0x5f,0x94,0xc7,0x24,0x8,0xf0, - 0x3,0x38,0x6f,0x72,0x75,0x9e,0xd1,0x37,0x20,0xf2,0xd2,0x99,0xd0,0xd1,0x48,0x90, - 0x4b,0xc,0x55,0xa3,0x3a,0xdd,0x24,0xb6,0xc9,0x34,0xa5,0xf8,0xb2,0xf9,0x6d,0x70, - 0xaa,0xc,0x52,0xda,0x47,0x53,0xc5,0xea,0xb1,0xa9,0x38,0xc1,0x2c,0x24,0x41,0x3a, - 0x50,0xa2,0xca,0xd4,0xf8,0x2c,0xf5,0xb8,0xf5,0xed,0xc8,0x13,0x75,0x36,0x6c,0x9e, - 0xb0,0xdf,0x8e,0x4f,0xd8,0xf3,0xe7,0xe9,0x38,0x52,0xcd,0xe,0x34,0x3b,0xd0,0xec, - 0x64,0x9b,0x57,0x9e,0x80,0x13,0x82,0xf8,0x4,0x4b,0x22,0x1a,0x54,0x92,0xd9,0xa9, - 0xac,0xb3,0x23,0xc0,0xef,0x2f,0xef,0x9c,0xa3,0x6,0xe5,0x7e,0x28,0xd,0xfd,0x63, - 0x55,0x62,0xbf,0xbf,0xb1,0x8b,0x6f,0xce,0x45,0x4a,0xcc,0xf9,0x66,0x3d,0xce,0x3c, - 0x58,0x14,0x38,0xe1,0xb2,0xe1,0x71,0x75,0xcd,0x88,0x24,0xee,0xe0,0xd1,0xc4,0x69, - 0x58,0x48,0x89,0x9e,0xe8,0x5c,0x28,0x4c,0x9c,0xc2,0xc4,0x69,0x76,0xe2,0xca,0x5c, - 0x1a,0x26,0xdd,0xd4,0x26,0x4d,0x8d,0x93,0x96,0xda,0x84,0x9b,0x17,0xdf,0xe8,0x85, - 0x6e,0xa0,0x12,0x3b,0xd1,0xf8,0x64,0x38,0x7c,0xf6,0xcc,0x44,0x5e,0xc5,0x37,0x76, - 0x3f,0x70,0xf6,0x30,0x5c,0x2f,0x4f,0xba,0xc1,0x32,0x4b,0x9a,0x51,0xa9,0x99,0x4c, - 0x46,0xb0,0x8e,0x36,0xae,0x3c,0xe6,0xc2,0x74,0xb2,0xc3,0x64,0xd9,0x97,0xa4,0x33, - 0x35,0xd0,0xb1,0x4a,0xd0,0x99,0x6a,0x74,0xac,0x3c,0x3a,0x56,0x2e,0x9d,0x69,0x11, - 0x9d,0x69,0x31,0x9d,0x69,0x55,0x74,0x98,0x81,0x8e,0x5d,0x82,0xe,0xd3,0xe8,0xd8, - 0x79,0x74,0xec,0x5c,0x3a,0xac,0x88,0xe,0x2b,0xa6,0xc3,0xaa,0xa2,0x33,0x33,0xd0, - 0x69,0x95,0xa0,0x33,0xd3,0xe8,0xb4,0xf2,0xe8,0xb4,0x72,0xe9,0xcc,0x8a,0xe8,0xcc, - 0x8a,0xe9,0xcc,0xaa,0xa2,0xc3,0xd,0x74,0xda,0x25,0xe8,0x70,0x8d,0x4e,0x3b,0x8f, - 0x4e,0x3b,0x97,0xe,0x2f,0xa2,0xc3,0x8b,0xe9,0xf0,0xaa,0xe8,0xf8,0x6,0x3a,0x9d, - 0x12,0x74,0x7c,0x8d,0x4e,0x27,0x8f,0x4e,0x27,0x97,0x8e,0x5f,0x44,0xc7,0x2f,0xa6, - 0xe3,0x57,0x45,0xe7,0xc6,0x40,0xa7,0x5b,0x82,0xce,0x8d,0x46,0xa7,0x9b,0x47,0xa7, - 0x9b,0x4b,0xe7,0xa6,0x88,0xce,0x4d,0x31,0x9d,0x9b,0xaa,0xe8,0x4,0x6,0x3a,0xbd, - 0x12,0x74,0x2,0x8d,0x4e,0x2f,0x8f,0x4e,0x2f,0x97,0x4e,0x50,0x44,0x27,0x28,0xa6, - 0x13,0x54,0x45,0xe7,0xda,0x40,0xa7,0x5f,0x82,0xce,0xb5,0x46,0xa7,0x9f,0x47,0xa7, - 0x9f,0x4b,0xe7,0xba,0x88,0xce,0x75,0x31,0x9d,0xeb,0xad,0xe9,0x2c,0xfe,0xf9,0xc2, - 0xf3,0x89,0x90,0xb0,0x71,0x60,0x14,0x7,0x2b,0x10,0x6a,0x93,0xb9,0xb8,0x5c,0x7e, - 0x93,0xbe,0x27,0x3c,0x7c,0x9,0xbc,0x12,0x33,0xa0,0xee,0x0,0xcd,0xe2,0xea,0xa5, - 0xd5,0xd2,0x12,0x3d,0xea,0x3b,0xca,0xd7,0x94,0x11,0xb5,0x9f,0x4c,0x3a,0x75,0x1a, - 0xef,0x39,0xc0,0x12,0x40,0x2e,0xd,0xff,0x24,0x77,0x28,0x36,0x9e,0x97,0xb0,0xfe, - 0x4,0x1b,0x33,0xe4,0x84,0xb0,0xdd,0xe1,0x12,0x8d,0xf1,0x4c,0xef,0x36,0x4f,0x7a, - 0xe5,0x12,0x46,0xc6,0x30,0xa1,0xc1,0x72,0x26,0x6f,0x41,0x5d,0x94,0xd2,0x23,0x31, - 0x23,0xd5,0x9c,0xec,0xaf,0x8a,0x3,0x90,0xe1,0x49,0xaa,0x69,0x80,0x3e,0x83,0x1f, - 0xe9,0xfe,0xaa,0xc4,0xfe,0x25,0x46,0x89,0x2,0x25,0x6b,0xa7,0x14,0xd3,0xed,0x54, - 0x4d,0xd6,0xce,0xf3,0xb1,0x43,0xe5,0xc3,0x0,0x11,0x8e,0x61,0x1b,0xe9,0xa2,0xdf, - 0x91,0x5,0xfa,0x34,0x1b,0xad,0xac,0xed,0xe2,0x3c,0x20,0x39,0xe8,0x4,0xf6,0xfe, - 0x4c,0xed,0xff,0xa3,0x9e,0xb5,0xa7,0xa3,0xa8,0xd4,0x90,0x3a,0x35,0xd8,0x18,0x4f, - 0x13,0x4f,0xd0,0xef,0xe0,0xd,0x66,0xa7,0xd0,0x97,0xc3,0x78,0x32,0x9e,0x70,0x23, - 0xba,0x7f,0x47,0x46,0xa6,0x2d,0xf,0x4,0x12,0x75,0x36,0x74,0xf9,0x72,0x6,0x15, - 0x2a,0x9a,0xd2,0xbd,0x8,0xa3,0x2e,0x59,0x58,0xbe,0x52,0xd7,0xe7,0xca,0xd9,0x4c, - 0xf8,0xea,0x15,0x57,0xd8,0x99,0x8e,0x85,0x17,0x72,0xd0,0xeb,0x7c,0xb9,0x1b,0x36, - 0x89,0x41,0x61,0xf3,0x44,0x1,0xdf,0xd7,0xf8,0x48,0xa4,0xdd,0xdc,0x6c,0xf2,0xc7, - 0xe2,0x94,0xc4,0x64,0xb3,0x63,0xd,0x8e,0x9,0xc6,0x4e,0x3f,0xd2,0x40,0xa,0xcc, - 0x3,0x1f,0xab,0x0,0xae,0xe5,0xe5,0xec,0xfa,0xa6,0xd4,0xdc,0xb,0xe6,0x5d,0x34, - 0xe7,0xd5,0xb9,0xd2,0x22,0x5a,0xe,0xf,0x5e,0xbc,0xd0,0xf8,0x7b,0xc2,0x85,0xe5, - 0x72,0x71,0xd0,0x64,0x6d,0x68,0x5e,0x8d,0xb2,0x8a,0xb3,0xb4,0x8e,0xb9,0xda,0x65, - 0xbb,0xa7,0x2d,0x16,0xcf,0x8f,0xf1,0xc5,0xde,0x18,0x62,0x79,0x31,0x47,0x2b,0xdb, - 0x84,0xb9,0x3,0x91,0x1e,0xc0,0xba,0x29,0xa5,0x37,0x5b,0xd,0x14,0xdf,0x96,0xda, - 0xad,0xc7,0x97,0xab,0x69,0x68,0x8b,0x23,0xc8,0xbb,0xd6,0x6a,0xdd,0x70,0x3f,0x48, - 0x4,0xcd,0x43,0xf2,0x26,0x9a,0xb0,0xa,0x8a,0x2b,0x6,0xfd,0x12,0xf3,0x5d,0xfa, - 0xb9,0xcc,0xb0,0x38,0x97,0x56,0xfe,0xea,0xd5,0x45,0xdd,0x3e,0x8c,0x46,0x1,0x1, - 0x1e,0xbf,0xb6,0x9a,0x59,0xd3,0x75,0xe2,0xa7,0x9e,0x91,0x6e,0x58,0x77,0x8d,0xb0, - 0x83,0xd7,0xce,0x84,0x32,0x17,0x6c,0x15,0x8c,0x58,0x8b,0xe7,0xdd,0xb5,0x55,0xac, - 0x42,0xda,0x2c,0xae,0x55,0x76,0xc9,0xc8,0x78,0x23,0xa8,0x9b,0x59,0x98,0xa1,0xeb, - 0x18,0xea,0xf5,0xea,0xfb,0x1,0x4a,0x65,0xa0,0x6,0x54,0x15,0xe1,0xdd,0x5,0xe9, - 0x3a,0x0,0x1d,0xce,0x78,0xa6,0x3a,0x50,0x59,0xce,0xc7,0x68,0x60,0xa7,0xa3,0x34, - 0x7e,0x15,0x9a,0xd6,0x17,0x57,0x7b,0x55,0xa6,0x9b,0x67,0x1e,0xbc,0x76,0xc0,0xe2, - 0x38,0x1d,0xf8,0xaa,0x9c,0x61,0x78,0x6f,0x19,0xc6,0x5c,0x8d,0xeb,0xe0,0x80,0x18, - 0xa2,0x56,0x95,0x25,0x74,0xdb,0x32,0xac,0x40,0xaa,0x2c,0xa2,0xde,0xd8,0x3e,0x2f, - 0x15,0xda,0xea,0xe2,0x65,0x8,0x99,0xc0,0xd3,0xef,0xfc,0xab,0xa8,0xf6,0x32,0x3a, - 0xc,0x4e,0xc6,0x35,0xea,0x27,0x3,0x1b,0x75,0xbb,0xcd,0x54,0x94,0x40,0x12,0xb6, - 0xec,0x74,0x4c,0xe8,0xab,0x4f,0xf2,0xed,0xfe,0xe5,0xe7,0x8f,0xf8,0x78,0x58,0x1d, - 0xb9,0x82,0xf8,0x4c,0xff,0x86,0x28,0x99,0xbd,0x89,0xc5,0x77,0x80,0x46,0x98,0x5, - 0xa4,0x38,0xec,0x57,0x39,0x62,0x77,0x76,0x93,0x24,0xba,0xaf,0xef,0xb1,0x18,0x53, - 0xe,0x34,0x12,0x83,0x47,0x1f,0x70,0x77,0xb,0x22,0xaf,0xd5,0xcd,0xab,0x7b,0x78, - 0x39,0xbc,0xd3,0xdf,0x86,0x91,0x95,0xef,0x51,0x2e,0x3f,0xd1,0xef,0xf0,0xda,0xb4, - 0x12,0x38,0x3d,0x7e,0x6,0x8b,0xfa,0x54,0x9d,0x14,0x2e,0xf,0xea,0x53,0x47,0x8e, - 0x49,0xe1,0xb4,0x97,0x52,0xfa,0x9b,0x31,0x1d,0x7,0xe7,0xd1,0xc1,0x33,0x96,0xa9, - 0xf5,0x2d,0x3e,0x8f,0x5e,0xd7,0xad,0x7e,0x57,0x48,0x60,0x2e,0x15,0x4b,0x96,0x16, - 0x46,0x76,0xb3,0x59,0x18,0x48,0xc9,0x98,0x29,0x8a,0x23,0xeb,0x1f,0x44,0x4d,0x61, - 0x64,0x58,0xf6,0x7f,0x29,0x32,0xfe,0x2,0xa9,0x2,0x95,0x0,0x8f,0x59,0xd9,0xe7, - 0x49,0xc3,0x73,0xf8,0x4c,0xc6,0x19,0xcb,0x61,0xac,0xe8,0xdc,0x14,0x6c,0xd9,0x1f, - 0x2,0xac,0xa3,0x2d,0xa4,0xb7,0x75,0xe9,0x3b,0xbb,0x95,0xde,0xae,0x42,0xfa,0xde, - 0x5e,0xf9,0x48,0x79,0xc3,0xcf,0x45,0xf6,0x36,0xd2,0xb7,0x34,0xe9,0x5b,0x3b,0xce, - 0xfa,0x56,0x15,0xd2,0xef,0x93,0x7e,0xa3,0xf4,0xad,0x6d,0xa4,0x6f,0xeb,0xd2,0xef, - 0x38,0xeb,0xdb,0x15,0x48,0xbf,0xa3,0xaf,0xe5,0xff,0xa3,0xf2,0xed,0x6d,0x94,0xef, - 0x68,0xca,0xb7,0x77,0x9c,0xf4,0x9d,0xa,0x94,0xef,0xef,0x95,0xdf,0xa4,0x7c,0x67, - 0x1b,0xe5,0xbb,0xba,0xf2,0x3b,0xce,0xf9,0x6e,0x5,0xca,0x5b,0xfb,0xa4,0xdf,0x28, - 0x7d,0x77,0x1b,0xe9,0x7b,0x9a,0xf4,0x9d,0x1d,0x27,0x7d,0xaf,0xa,0xe9,0xf7,0x59, - 0xbf,0x51,0xfa,0xde,0x36,0xd2,0xf7,0x75,0xe9,0x77,0x9c,0xf5,0xfd,0xa,0xa4,0xb7, - 0xf7,0x59,0xbf,0x51,0xfa,0xfe,0x36,0xd2,0x1f,0x6b,0xd2,0x77,0x77,0x9c,0xf5,0xc7, - 0x55,0x48,0xbf,0xcf,0xfa,0x8d,0xd2,0x1f,0x27,0xa5,0x8f,0xfe,0xfc,0xd,0xc5,0x29, - 0x62,0xb9, + 0x0,0x2d,0x38,0x78,0x9c,0xed,0x99,0xdd,0x6e,0xdb,0x36,0x14,0xc7,0xef,0x3,0xe4, + 0x1d,0x58,0xf7,0xa2,0x9,0xba,0xb9,0x96,0xbf,0xa3,0xcc,0x18,0xd2,0x20,0xdd,0x2, + 0xb4,0xeb,0x9a,0x16,0xed,0x45,0x11,0x4,0x8c,0x44,0xdb,0x8c,0x69,0x49,0xa1,0xa8, + 0x7c,0x34,0xc8,0x3,0xf5,0x39,0xfa,0x62,0x3b,0x94,0x64,0x5b,0xa4,0x68,0x49,0xde, + 0x2c,0x60,0x1b,0xa2,0x8b,0x44,0x22,0xf,0xa5,0x73,0x7e,0xff,0x73,0x28,0x91,0xa6, + 0xf3,0xc0,0xe7,0x2,0x7d,0x10,0x1f,0x22,0xea,0xcc,0x50,0xbb,0x69,0x59,0xbb,0x3b, + 0x54,0x69,0x6c,0x7e,0xa1,0x9e,0xeb,0xdf,0x9a,0xfb,0xde,0xe2,0x7b,0x3f,0x12,0x21, + 0xb2,0x9a,0xf9,0xbe,0x63,0xdf,0x13,0xdc,0x67,0xa1,0x1c,0xd9,0xdb,0xdd,0xd9,0xdd, + 0x49,0x6f,0xf4,0xb0,0xbb,0x83,0xe0,0xa0,0x2e,0xb2,0x11,0xf7,0x7d,0x91,0x5c,0x3a, + 0x3e,0xf3,0xb9,0x8d,0x1a,0xcf,0x49,0x9f,0x38,0x63,0xdc,0x48,0x5a,0x6f,0xa9,0x2b, + 0xa6,0x36,0xea,0xf7,0x7a,0xc9,0xf5,0x94,0xd0,0xc9,0x54,0xd8,0x68,0x60,0xd,0x92, + 0x86,0x1b,0x1a,0xd2,0x4b,0x46,0x6c,0x24,0x78,0x44,0x92,0x26,0x41,0x85,0x6c,0xb8, + 0xe,0x3f,0xf1,0xbd,0xc6,0xc7,0xc8,0xf5,0x67,0x51,0x63,0x5f,0x3e,0x5f,0x76,0x8e, + 0x23,0xcf,0x11,0xd4,0xf7,0x90,0x33,0x25,0xce,0x6c,0x6f,0x3f,0x75,0x26,0xbe,0x55, + 0x44,0xde,0x5f,0x5e,0x11,0x71,0x1c,0x88,0xe6,0xd,0xe1,0x74,0x7c,0x31,0xc7,0x82, + 0x53,0x87,0xec,0xed,0x1f,0x66,0xac,0x30,0x47,0x71,0x2f,0x1a,0xe5,0x47,0x50,0xc2, + 0x33,0xa6,0x74,0xbc,0x17,0xb7,0x8e,0x46,0x23,0x2b,0xfb,0x20,0x79,0x70,0x12,0x46, + 0xc,0x46,0x25,0xee,0x8f,0xa4,0xf7,0x87,0x46,0xb,0x4e,0x1c,0x81,0xbd,0x9,0x23, + 0xcd,0x98,0xd0,0xa8,0xf1,0x7c,0x48,0x48,0xbf,0x33,0x68,0x94,0x99,0xb,0x72,0x27, + 0xac,0xf8,0xef,0xa8,0xf1,0x9a,0xe3,0x1b,0x1f,0xdd,0xf8,0x51,0x88,0xf0,0xd,0xf9, + 0x86,0xf8,0x8f,0xef,0x51,0x18,0x52,0xc4,0x30,0xa,0x30,0x17,0x94,0xa0,0x67,0xd9, + 0xfb,0x3d,0xae,0x4e,0x9,0xb,0xc9,0xc3,0x3f,0x72,0xb7,0x1f,0x1f,0x1b,0xb9,0x7b, + 0xca,0xd0,0x3d,0xc2,0x28,0xf2,0x8,0x22,0x9c,0x93,0x88,0xff,0x24,0x3d,0x26,0x61, + 0x88,0xef,0xc1,0x79,0x93,0xab,0x8f,0x39,0x7d,0x43,0x8,0xf4,0xc2,0x61,0x90,0x88, + 0xc4,0x5d,0x2b,0x73,0x6c,0x34,0xe1,0xd4,0xcd,0x49,0x4c,0xc3,0x8f,0xd0,0xe7,0x6a, + 0x22,0x4f,0xf0,0x9c,0x9c,0x26,0x3d,0xca,0x8,0x50,0x3a,0x1d,0x20,0x9f,0xf4,0xea, + 0x55,0x36,0xd2,0x4b,0xec,0xcc,0x26,0xdc,0x8f,0x3c,0xf7,0x62,0x4e,0xbc,0xe8,0x12, + 0xf3,0x4,0xd,0x1a,0x35,0x74,0x28,0x6,0x53,0xf9,0xff,0x35,0xe6,0xa7,0x82,0xcc, + 0x9b,0x53,0xc8,0x7d,0x26,0xf3,0x1f,0xfc,0xfa,0x15,0x2d,0xc9,0x42,0x19,0x35,0x4, + 0xc7,0x5e,0x8,0x52,0x12,0x4f,0x34,0xd0,0xbf,0x48,0xc9,0x93,0x58,0x3e,0xe4,0xbe, + 0x20,0x1e,0x27,0x13,0x1a,0xa,0x4e,0xe6,0xd2,0xc7,0x4a,0xa,0x12,0x71,0xe1,0x4c, + 0xe9,0x78,0xcc,0xc9,0x5,0x86,0x26,0x60,0xbc,0x56,0x47,0x83,0xa9,0x26,0xe8,0xa2, + 0xfb,0x34,0x3c,0x92,0x6,0x9a,0xb0,0x71,0x88,0x58,0x3e,0x56,0xab,0x74,0xcc,0x22, + 0x12,0xea,0xa5,0x1e,0x37,0x6a,0xf7,0x67,0xda,0xe3,0x56,0x97,0x63,0x9f,0xef,0xb1, + 0x51,0xeb,0x90,0xfd,0x72,0x70,0xc8,0x5e,0xbe,0xd4,0x67,0x2,0xd9,0xed,0x40,0xb7, + 0x3,0xdd,0x4e,0xbe,0x7b,0xe9,0x9,0x38,0xc1,0x49,0x40,0xb0,0x20,0xbc,0x49,0x21, + 0x1d,0x8e,0xc4,0x1e,0xdb,0x7,0xec,0xc1,0xe2,0xca,0xd9,0x6f,0x52,0x2f,0x88,0x84, + 0x61,0x7c,0xa2,0x46,0xe2,0xf7,0x57,0x76,0xfe,0xd5,0x39,0xd7,0x44,0x7c,0x5c,0xaf, + 0xc7,0xb1,0xf,0xd3,0xba,0x7,0xa2,0x35,0x7d,0x4f,0x9e,0x33,0x2,0xf9,0x67,0x3f, + 0x98,0x38,0x8d,0x4a,0x29,0xd1,0x43,0x95,0xb,0x85,0xc0,0x29,0x4,0x4e,0xf3,0x81, + 0x4b,0x73,0x61,0x8,0xba,0xa5,0x4,0x4d,0x8d,0x41,0xb,0x25,0xe0,0xd6,0xf9,0x57, + 0x7a,0xae,0x1a,0xc8,0xa9,0x39,0xd3,0xf9,0x6c,0x34,0x7a,0xf1,0xc2,0x44,0x5e,0xe6, + 0x35,0x76,0xdf,0x7b,0xec,0x7e,0xb4,0x7a,0xc1,0xa8,0x6,0x8b,0xea,0x68,0xc5,0x47, + 0xc3,0x64,0x32,0x86,0x37,0x61,0xf3,0xd2,0x67,0x72,0x3a,0xc9,0xdf,0x26,0xcf,0xbe, + 0x22,0x9d,0x99,0x81,0x8e,0x55,0x81,0xce,0x4c,0xa1,0x63,0x15,0xd1,0xb1,0xa,0xe9, + 0xcc,0xca,0xe8,0xcc,0xca,0xe9,0xcc,0xea,0xa2,0xc3,0xc,0x74,0xda,0x15,0xe8,0x30, + 0x85,0x4e,0xbb,0x88,0x4e,0xbb,0x90,0xe,0x2b,0xa3,0xc3,0xca,0xe9,0xb0,0xba,0xe8, + 0xcc,0xd,0x74,0x3a,0x15,0xe8,0xcc,0x15,0x3a,0x9d,0x22,0x3a,0x9d,0x42,0x3a,0xf3, + 0x32,0x3a,0xf3,0x72,0x3a,0xf3,0xba,0xe8,0x78,0x6,0x3a,0xdd,0xa,0x74,0x3c,0x85, + 0x4e,0xb7,0x88,0x4e,0xb7,0x90,0x8e,0x57,0x46,0xc7,0x2b,0xa7,0xe3,0xd5,0x45,0x27, + 0x30,0xd0,0xe9,0x55,0xa0,0x13,0x28,0x74,0x7a,0x45,0x74,0x7a,0x85,0x74,0x82,0x32, + 0x3a,0x41,0x39,0x9d,0xa0,0x2e,0x3a,0xd7,0x6,0x3a,0xfd,0xa,0x74,0xae,0x15,0x3a, + 0xfd,0x22,0x3a,0xfd,0x42,0x3a,0xd7,0x65,0x74,0xae,0xcb,0xe9,0x5c,0xd7,0x45,0x27, + 0x34,0xd0,0x19,0x54,0xa0,0x13,0x2a,0x74,0x6,0x45,0x74,0x6,0x85,0x74,0xc2,0x32, + 0x3a,0x61,0x39,0x9d,0xb0,0x2e,0x3a,0x57,0x6,0x3a,0xc3,0xa,0x74,0xae,0x14,0x3a, + 0xc3,0x22,0x3a,0xc3,0x42,0x3a,0x57,0x65,0x74,0xae,0xca,0xe9,0x5c,0x6d,0x4c,0x27, + 0xfd,0x17,0x70,0x3f,0x20,0x5c,0xc0,0xd2,0x8f,0x51,0x1c,0x2e,0x41,0xc8,0x6d,0x82, + 0xf4,0x74,0xf1,0x4d,0xfa,0x2e,0x59,0x15,0xa1,0x4c,0x4,0xd4,0xb5,0x51,0xba,0x58, + 0x5a,0x58,0x2d,0x2c,0xd1,0x83,0xba,0x27,0xf0,0x86,0x32,0x22,0x77,0x4,0xb2,0x4e, + 0x1d,0x25,0x6b,0xe,0xb0,0x4,0x90,0xb,0xc3,0x3f,0xc8,0x2d,0x4a,0x8c,0x1f,0x2b, + 0x58,0xcb,0xf5,0x1f,0x72,0x22,0x2e,0x17,0x61,0x48,0xae,0x14,0xf5,0x67,0xc8,0xc3, + 0xf7,0x3e,0x71,0x3a,0x99,0x10,0xe,0xdf,0xd0,0xda,0x1a,0x55,0xe5,0xb2,0xba,0x70, + 0x9,0x23,0x13,0x88,0xde,0x5e,0x84,0x2d,0x17,0x83,0x48,0x13,0x2f,0x13,0xbe,0xec, + 0xce,0x8e,0x97,0x87,0x3,0x8a,0x80,0x5b,0xb2,0xcb,0x46,0x9f,0xc0,0x69,0x7d,0xbc, + 0x3c,0x92,0x60,0xb2,0x2b,0x4e,0xd9,0x92,0xb7,0x93,0xf2,0xaa,0x76,0xb2,0xc5,0x10, + 0x6b,0x80,0x1d,0x2a,0xee,0x6d,0x44,0x3c,0xc,0x6b,0x4d,0xb9,0x68,0xb5,0x40,0xcc, + 0x56,0xb3,0x93,0xb7,0x4d,0xb7,0x7f,0x8a,0x96,0xbb,0xe3,0xf8,0x88,0x97,0xbb,0xeb, + 0x93,0x6f,0xea,0x73,0xfa,0xd,0xbc,0xc1,0xec,0x8,0xc6,0x7a,0x72,0xb1,0x99,0x4, + 0xdc,0x8c,0xaf,0xdf,0x92,0xb1,0x69,0x7d,0x4,0x59,0x47,0x9d,0x35,0x43,0x3e,0x1f, + 0x43,0x83,0x4c,0x3d,0x7d,0x14,0x61,0xd4,0x25,0xa9,0xe5,0x89,0x3c,0x3f,0x93,0xce, + 0xe6,0x72,0x7d,0xdd,0x12,0xdf,0x46,0x67,0x8b,0x25,0xb3,0x49,0x8c,0x78,0x7b,0x2c, + 0xbf,0x21,0x60,0x30,0x84,0x25,0x19,0x5,0xce,0x5f,0x92,0xad,0xb2,0x6e,0x6b,0xbd, + 0xc9,0xef,0xe9,0xee,0x99,0xc9,0x66,0xcb,0x62,0x1d,0x10,0x8c,0x9d,0x61,0x6e,0x6f, + 0xa2,0x68,0x26,0x58,0x5d,0x54,0x82,0x54,0x12,0x77,0x59,0xcc,0xcb,0xfd,0xc6,0x34, + 0xad,0xd4,0x5e,0x6d,0xb,0xc7,0xe7,0x2e,0x4c,0xc8,0xe9,0x66,0xa4,0x55,0xc1,0x74, + 0x79,0xf7,0x65,0xa2,0xea,0x89,0x50,0x28,0x7e,0x7e,0xb8,0x6e,0x91,0xfa,0x92,0x60, + 0x4d,0x3c,0x33,0x14,0x43,0x1a,0xbb,0x95,0xef,0xc2,0x9e,0x3,0xa5,0x12,0xc2,0x2c, + 0x2d,0x84,0x3f,0x5f,0xde,0x28,0xb9,0xac,0xb4,0x37,0x90,0x9c,0x2e,0xc3,0x50,0xa6, + 0x62,0x25,0x75,0x57,0x1d,0x77,0x76,0x26,0x99,0xee,0xb3,0x17,0xc9,0x8e,0x18,0x44, + 0x7c,0xc9,0x60,0x5c,0x26,0xde,0x85,0x9f,0x8b,0x12,0x4d,0x8a,0x71,0xe9,0xaf,0xda, + 0x5c,0x36,0xec,0xfd,0x78,0x1c,0x12,0xe0,0xf1,0x73,0xa7,0x95,0x37,0x5d,0xcd,0x1c, + 0xda,0x33,0xf4,0x8e,0xd5,0xd0,0x18,0x3b,0x78,0xed,0x4c,0x29,0x73,0xc1,0x56,0xc2, + 0x48,0xb4,0x78,0xd9,0x5f,0x59,0x25,0x2a,0xe8,0x66,0x49,0xab,0xb4,0xcb,0x66,0xc6, + 0x6f,0x9c,0xba,0xb9,0x99,0x1d,0x86,0xca,0x3d,0x4a,0xb5,0xf9,0xce,0x46,0x5a,0x65, + 0x2a,0x40,0xe5,0xc1,0xfd,0xdb,0x50,0x6f,0x3,0xd0,0xd1,0xdc,0xcb,0x35,0x87,0xb2, + 0xfa,0xbd,0x9,0xb2,0xdb,0x7a,0x96,0x26,0x2f,0xde,0x75,0x13,0xd4,0xea,0xc5,0xac, + 0x77,0xcf,0x7d,0x78,0x6f,0x81,0xc5,0x81,0x9e,0xf8,0xf2,0x38,0xc6,0xf0,0x96,0x34, + 0xdc,0x73,0x79,0x5f,0x7,0x87,0xc4,0x90,0xb5,0xf2,0x58,0x40,0x6f,0x5b,0x86,0x99, + 0x49,0x1e,0x69,0xd6,0x1b,0xfb,0x1f,0x2b,0xa5,0xb6,0x3c,0x79,0x1d,0x41,0x25,0x78, + 0xfa,0x17,0xc6,0x65,0xdc,0x7a,0x11,0xff,0x78,0x90,0xcd,0x6b,0x34,0xcc,0x26,0x36, + 0xea,0xf7,0x5b,0x5a,0x96,0x40,0x11,0x76,0xda,0x7a,0x4e,0xa8,0xb3,0x52,0xf6,0x5b, + 0xe2,0xf3,0x8f,0xef,0xc9,0xcf,0x9,0x72,0x8b,0x1e,0xc4,0x67,0xea,0x17,0x4b,0xc5, + 0xea,0xcd,0x4c,0xca,0x36,0x1a,0x63,0x16,0x92,0xf2,0xb4,0x5f,0xd6,0x48,0xbb,0xb7, + 0x9d,0x22,0x51,0x7d,0x7d,0x87,0xf9,0x84,0x7a,0x40,0x23,0x73,0xf3,0xf8,0x73,0xf1, + 0x36,0x25,0xf2,0x46,0x5e,0x9c,0xdc,0xc1,0x4b,0xe3,0xad,0xfa,0x3a,0x8d,0xad,0x2, + 0x9f,0x7a,0xe2,0x23,0xfd,0x6,0xef,0x5d,0x2b,0x83,0xd3,0xf7,0x8e,0x93,0xaf,0x28, + 0xfb,0x61,0xf1,0xc3,0x8e,0xbe,0xb5,0x9e,0x11,0x4e,0x79,0x59,0xe9,0x5f,0xa8,0x7a, + 0x1e,0x9c,0xc5,0xdb,0xdb,0x58,0x68,0xf3,0x5b,0xb2,0xeb,0xbd,0x6a,0x5b,0xfe,0xe, + 0x95,0xc1,0x5c,0x29,0x97,0x2c,0x25,0x8d,0xda,0xad,0x56,0x69,0x22,0x65,0x73,0xa6, + 0x2c,0x8f,0xac,0xbf,0x91,0x35,0xa5,0x99,0x61,0xb5,0xff,0x4b,0x99,0xf1,0x27,0x48, + 0x15,0xca,0x2,0x78,0xc8,0xcb,0xfe,0x98,0x35,0x3c,0x83,0xef,0x6c,0x9c,0xb3,0x1c, + 0x25,0x8a,0x3e,0x9a,0x92,0x2d,0xff,0xb3,0x83,0xb5,0xbf,0x81,0xf4,0x6d,0x55,0xfa, + 0xde,0x76,0xa5,0x6f,0xd7,0x21,0xfd,0xe0,0x49,0xf9,0x58,0x79,0xc3,0x8f,0x53,0xed, + 0x4d,0xa4,0xef,0x28,0xd2,0x77,0xb6,0x5c,0xf5,0x9d,0x3a,0xa4,0x7f,0x2a,0xfa,0xb5, + 0xd2,0x77,0x36,0x91,0xbe,0xab,0x4a,0xbf,0xe5,0xaa,0xef,0xd6,0x20,0xfd,0x96,0xbe, + 0x96,0xff,0x8f,0xca,0x77,0x37,0x51,0xbe,0xa7,0x28,0xdf,0xdd,0x72,0xd1,0xf7,0x6a, + 0x50,0x7e,0xf8,0xa4,0xfc,0x3a,0xe5,0x7b,0x9b,0x28,0xdf,0x57,0x95,0xdf,0x72,0xcd, + 0xf7,0x6b,0x50,0xde,0x7a,0x2a,0xfa,0xb5,0xd2,0xf7,0x37,0x91,0x7e,0xa0,0x48,0xdf, + 0xdb,0x72,0xd1,0xf,0xea,0x90,0xfe,0xa9,0xea,0xd7,0x4a,0x3f,0xd8,0x44,0xfa,0xa1, + 0x2a,0xfd,0x96,0xab,0x7e,0x58,0x83,0xf4,0xed,0xa7,0xaa,0x5f,0x2b,0xfd,0x70,0x13, + 0xe9,0xf,0x14,0xe9,0xfb,0x5b,0xae,0xfa,0x83,0x3a,0xa4,0x7f,0xaa,0xfa,0xb5,0xd2, + 0x1f,0x64,0xa5,0x8f,0xff,0xfc,0x5,0xe8,0x24,0xfd,0xfe, }; @@ -243,7 +249,7 @@ static const unsigned char qt_resource_struct[] = { 0x0,0x0,0x1,0x78,0xb2,0x62,0x40,0x37, // :/main.qml 0x0,0x0,0x0,0x36,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x5,0x99, -0x0,0x0,0x1,0x78,0xb3,0xa4,0x46,0xd0, +0x0,0x0,0x1,0x78,0xb5,0xf1,0x7e,0x3e, // :/Carre.qml 0x0,0x0,0x0,0x1e,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x2,0xc2, 0x0,0x0,0x1,0x78,0xb2,0xb2,0x56,0xea, diff --git a/debug/qrc_qml.o b/debug/qrc_qml.o index 1bbeff08eb3c9304b7351b99db621f3da57ca0a6..87e3a3baf7820b9b707fbdfadbc95f9638689476 100644 Binary files a/debug/qrc_qml.o and b/debug/qrc_qml.o differ diff --git a/debug/sudoku.exe b/debug/sudoku.exe index 010efdde6790dddad56167c49d11360cc5410425..e81914440a5a95d9c5270b56d65fd61ee3b403fe 100644 Binary files a/debug/sudoku.exe and b/debug/sudoku.exe differ diff --git a/grille.cpp b/grille.cpp index fafed4c2e64512b6f8f8503f5793035d5400e599..54d2361936c9b2bf1add8424ed6bd372f115f7ba 100644 --- a/grille.cpp +++ b/grille.cpp @@ -40,6 +40,7 @@ Grille::Grille(QObject *parent) : QObject(parent){ for(int j =0;j<9;j++){ colors.push_back(colors_case); } + isSaved = false; } void Grille::save_grid(){ @@ -63,6 +64,8 @@ void Grille::save_grid(){ } myFile.close(); cout << "enregistrement en cours" << endl; + isSaved = true; + gameIsSaved(); } diff --git a/grille.h b/grille.h index e1fc2b208f0b9d5bd1e130d8deb0493af14b3acb..c5d082dc5568b24247c484924cabef55a9bfc54f 100644 --- a/grille.h +++ b/grille.h @@ -13,6 +13,7 @@ class Grille : public QObject Q_PROPERTY(QList<QList<QString>> colors MEMBER colors NOTIFY focusChanged) Q_PROPERTY(int verifier MEMBER verif NOTIFY verifClicked) Q_PROPERTY(int coloration MEMBER chiffre_IsActif NOTIFY chiffreActifChanged) + Q_PROPERTY(bool saved MEMBER isSaved NOTIFY gameIsSaved) public: explicit Grille(QObject *parent = nullptr); @@ -20,8 +21,9 @@ public: Q_INVOKABLE void colorer_voisins( int Carre,int Case, bool focus); Q_INVOKABLE void verif_matrice( ); Q_INVOKABLE void set_chiffre_actif(int i); + Q_INVOKABLE void save_grid(); void Print(); - void save_grid(); + private: @@ -35,6 +37,7 @@ private: int verif; int chiffre_actif; int chiffre_IsActif; + bool isSaved; @@ -43,6 +46,7 @@ signals: void focusChanged(); void verifClicked(); void chiffreActifChanged(); + void gameIsSaved(); }; diff --git a/main.qml b/main.qml index 20fb6660d10bef125b60bf6060579e82dc7785cc..84d56aa74cdcbc407f469863733781710a427ba2 100644 --- a/main.qml +++ b/main.qml @@ -25,6 +25,19 @@ Window { } } + function save_clicked(){ + vueObjetCpt.save_grid(); + var isSaved = vueObjetCpt.gameIsSaved(); + if(isSaved){ +// background_menubar.color =""; + background_menubar.menuBarItem.highlighted ? "#666666" : "transparent" ; + } + else{ result.visible=true; + result.rectangle.color="#666666"; + result.rectangle.text1.text="Erreur d'enregistrement"; + } + } + function set_chiffre_actif(i){ vueObjetCpt.set_chiffre_actif(i); var chiffre_IsActif = vueObjetCpt.coloration @@ -131,7 +144,8 @@ Window { Menu { title: qsTr("File") Action { text: qsTr("New File")} - Action { text: qsTr("Save current game")} + Action { text: qsTr("Save current game") + onTriggered: save_clicked()} } delegate: MenuBarItem { @@ -148,6 +162,7 @@ Window { } background: Rectangle { + id : background_menubar implicitWidth: 40 implicitHeight: 40 opacity: enabled ? 1 : 0.3 @@ -159,8 +174,8 @@ Window { implicitWidth: 40 implicitHeight: 40 color: "#ffffff" -// border.width: 1 -// border.color: "#000000" + // border.width: 1 + // border.color: "#000000" Rectangle { diff --git a/sudoku.pro.user b/sudoku.pro.user index ebfba85441959fff365f3ba9c0fc106f7ce4f42e..f30498733a6faaca60eb2caa7bad66590747f111 100644 --- a/sudoku.pro.user +++ b/sudoku.pro.user @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> -<!-- Written by QtCreator 4.14.1, 2021-04-08T22:57:14. --> +<!-- Written by QtCreator 4.14.1, 2021-04-09T00:41:01. --> <qtcreator> <data> <variable>EnvironmentId</variable> @@ -100,17 +100,10 @@ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> - <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> - <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> - <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> - </valuemap> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> </valuemap> - <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> @@ -218,7 +211,7 @@ <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> - <value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku_v2/build-sudoku-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value> + <value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/Simon/Documents/travail/ECL/Electifs/Programmation des interfaces graphiques en C++/Projet/projet_sudoku</value> </valuemap> <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> </valuemap>