├── README.md ├── calculator_PySide2.py ├── files_rc.py ├── fonts └── Roboto-Regular.ttf └── styles.py /README.md: -------------------------------------------------------------------------------- 1 | # Python Calculator GUI PySide2 2 | This is my first application created with Python and using PySide2 3 | 4 | # REQUERIMENTS: 5 | PySide2: pip install PySide2 6 | -------------------------------------------------------------------------------- /calculator_PySide2.py: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## STUDY PROJECT BY: WANDERSON M. 4 | ## PROJECT MADE WITH: Qt Designer and PySide2 5 | ## V: 0.1 6 | ## 7 | ################################################################################ 8 | 9 | from PySide2 import QtCore, QtGui, QtWidgets 10 | from PySide2.QtCore import (QCoreApplication, QDate, QDateTime, QMetaObject, QObject, QPoint, QRect, QSize, QTime, QUrl, Qt) 11 | from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont, QFontDatabase, QIcon, QKeySequence, QLinearGradient, QPalette, QPainter, QPixmap, QRadialGradient) 12 | from PySide2.QtWidgets import * 13 | # IMPORT IMAGES FILE 14 | import files_rc 15 | # IMPORT QSS 16 | from styles import * 17 | 18 | class Ui(QtWidgets.QMainWindow): 19 | def __init__(self): 20 | super(Ui, self).__init__() 21 | 22 | # 23 | # MAIN WINDOW PARAMETERS 24 | # CHANGE "MainWindow" TO "self" 25 | # 26 | 27 | self.setObjectName("MainWindow") 28 | self.resize(350, 600) 29 | self.setMinimumSize(QtCore.QSize(350, 600)) 30 | self.setWindowFlags(QtCore.Qt.CustomizeWindowHint) 31 | icon = QtGui.QIcon() 32 | icon.addPixmap(QtGui.QPixmap(":/ICO/Images/Icon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) 33 | self.setWindowIcon(icon) 34 | self.setStyleSheet(style.mainWindow) 35 | self.centralwidget = QtWidgets.QWidget(self) 36 | 37 | # 38 | # START GUI SCRIPT 39 | # 40 | ############################################################################################ 41 | 42 | # START --- WIDGETS 43 | self.centralwidget.setObjectName(u"centralwidget") 44 | self.centralwidget.setMinimumSize(QSize(0, 0)) 45 | self.centralwidget.setStyleSheet(u"background: transparent;") 46 | self.verticalLayout = QVBoxLayout(self.centralwidget) 47 | self.verticalLayout.setSpacing(0) 48 | self.verticalLayout.setObjectName(u"verticalLayout") 49 | self.verticalLayout.setContentsMargins(0, 0, 0, 0) 50 | self.frame_principal = QFrame(self.centralwidget) 51 | self.frame_principal.setObjectName(u"frame_principal") 52 | self.frame_principal.setStyleSheet(u"margin: 0px; background-color: rgb(35, 35, 35);") 53 | self.frame_principal.setFrameShape(QFrame.StyledPanel) 54 | self.frame_principal.setFrameShadow(QFrame.Raised) 55 | self.verticalLayout_2 = QVBoxLayout(self.frame_principal) 56 | self.verticalLayout_2.setSpacing(0) 57 | self.verticalLayout_2.setObjectName(u"verticalLayout_2") 58 | self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) 59 | self.frame_topMenu = QFrame(self.frame_principal) 60 | self.frame_topMenu.setObjectName(u"frame_topMenu") 61 | self.frame_topMenu.setMaximumSize(QSize(16777215, 70)) 62 | self.frame_topMenu.setStyleSheet(u"background-color: transparent;") 63 | self.frame_topMenu.setFrameShape(QFrame.StyledPanel) 64 | self.frame_topMenu.setFrameShadow(QFrame.Raised) 65 | self.horizontalLayout_3 = QHBoxLayout(self.frame_topMenu) 66 | self.horizontalLayout_3.setSpacing(0) 67 | self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") 68 | self.horizontalLayout_3.setContentsMargins(5, 5, 5, 5) 69 | self.frame_17 = QFrame(self.frame_topMenu) 70 | self.frame_17.setObjectName(u"frame_17") 71 | self.frame_17.setStyleSheet(u"background-color: transparent;") 72 | self.frame_17.setFrameShape(QFrame.StyledPanel) 73 | self.frame_17.setFrameShadow(QFrame.Raised) 74 | self.verticalLayout_4 = QVBoxLayout(self.frame_17) 75 | self.verticalLayout_4.setObjectName(u"verticalLayout_4") 76 | self.label_title = QLabel(self.frame_17) 77 | self.label_title.setObjectName(u"label_title") 78 | font = QFont() 79 | font.setFamily(u"Roboto") 80 | font.setPointSize(12) 81 | self.label_title.setFont(font) 82 | self.label_title.setStyleSheet(u"background-color: transparent;") 83 | self.verticalLayout_4.addWidget(self.label_title) 84 | self.horizontalLayout_3.addWidget(self.frame_17) 85 | self.frame_18 = QFrame(self.frame_topMenu) 86 | self.frame_18.setObjectName(u"frame_18") 87 | self.frame_18.setMaximumSize(QSize(170, 16777215)) 88 | self.frame_18.setStyleSheet(u"background-color: transparent;") 89 | self.frame_18.setFrameShape(QFrame.StyledPanel) 90 | self.frame_18.setFrameShadow(QFrame.Raised) 91 | self.horizontalLayout = QHBoxLayout(self.frame_18) 92 | self.horizontalLayout.setSpacing(0) 93 | self.horizontalLayout.setObjectName(u"horizontalLayout") 94 | self.horizontalLayout.setContentsMargins(0, 0, 0, 0) 95 | self.pushButton_minimize = QPushButton(self.frame_18) 96 | self.pushButton_minimize.setObjectName(u"pushButton_minimize") 97 | self.pushButton_minimize.setMinimumSize(QSize(50, 50)) 98 | self.pushButton_minimize.setMaximumSize(QSize(50, 50)) 99 | self.pushButton_minimize.setStyleSheet(style.bts_title_bar_minimize) 100 | self.horizontalLayout.addWidget(self.pushButton_minimize) 101 | self.pushButton_max_rest = QPushButton(self.frame_18) 102 | self.pushButton_max_rest.setObjectName(u"pushButton_max_rest") 103 | self.pushButton_max_rest.setMinimumSize(QSize(50, 50)) 104 | self.pushButton_max_rest.setMaximumSize(QSize(50, 50)) 105 | self.pushButton_max_rest.setStyleSheet(style.bts_title_bar_maximize) 106 | self.horizontalLayout.addWidget(self.pushButton_max_rest) 107 | self.pushButton_close = QPushButton(self.frame_18) 108 | self.pushButton_close.setObjectName(u"pushButton_close") 109 | self.pushButton_close.setMinimumSize(QSize(50, 50)) 110 | self.pushButton_close.setMaximumSize(QSize(50, 50)) 111 | self.pushButton_close.setStyleSheet(style.bts_title_bar_close) 112 | self.horizontalLayout.addWidget(self.pushButton_close) 113 | self.horizontalLayout_3.addWidget(self.frame_18) 114 | self.verticalLayout_2.addWidget(self.frame_topMenu) 115 | self.frame_labelTemp = QFrame(self.frame_principal) 116 | self.frame_labelTemp.setObjectName(u"frame_labelTemp") 117 | self.frame_labelTemp.setMaximumSize(QSize(16777215, 35)) 118 | self.frame_labelTemp.setStyleSheet(u"background-color: transparent;") 119 | self.frame_labelTemp.setFrameShape(QFrame.StyledPanel) 120 | self.frame_labelTemp.setFrameShadow(QFrame.Raised) 121 | self.verticalLayout_5 = QVBoxLayout(self.frame_labelTemp) 122 | self.verticalLayout_5.setObjectName(u"verticalLayout_5") 123 | self.verticalLayout_5.setContentsMargins(15, 0, 15, 0) 124 | self.label_temp = QLabel(self.frame_labelTemp) 125 | self.label_temp.setObjectName(u"label_temp") 126 | self.label_temp.setStyleSheet(u"background-color: transparent;") 127 | self.label_temp.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) 128 | self.verticalLayout_5.addWidget(self.label_temp) 129 | self.verticalLayout_2.addWidget(self.frame_labelTemp) 130 | self.frame_lineEdit = QFrame(self.frame_principal) 131 | self.frame_lineEdit.setObjectName(u"frame_lineEdit") 132 | self.frame_lineEdit.setMaximumSize(QSize(16777215, 100)) 133 | self.frame_lineEdit.setStyleSheet(u"background-color: rgba(255, 0, 127, 230); border-radius: 0px; margin: 5px; border-radius: 10px;") 134 | self.frame_lineEdit.setFrameShape(QFrame.StyledPanel) 135 | self.frame_lineEdit.setFrameShadow(QFrame.Raised) 136 | self.verticalLayout_6 = QVBoxLayout(self.frame_lineEdit) 137 | self.verticalLayout_6.setObjectName(u"verticalLayout_6") 138 | self.lineEdit_values = QLineEdit(self.frame_lineEdit) 139 | self.lineEdit_values.setObjectName(u"lineEdit_values") 140 | sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) 141 | sizePolicy.setHorizontalStretch(0) 142 | sizePolicy.setVerticalStretch(0) 143 | sizePolicy.setHeightForWidth(self.lineEdit_values.sizePolicy().hasHeightForWidth()) 144 | self.lineEdit_values.setSizePolicy(sizePolicy) 145 | font1 = QFont() 146 | font1.setFamily(u"Roboto Light") 147 | font1.setPointSize(42) 148 | self.lineEdit_values.setFont(font1) 149 | self.lineEdit_values.setStyleSheet(u"color: rgb(255, 255, 255); selection-background-color: rgb(213, 0, 106); background-color: transparent;") 150 | self.lineEdit_values.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) 151 | self.verticalLayout_6.addWidget(self.lineEdit_values) 152 | self.verticalLayout_2.addWidget(self.frame_lineEdit) 153 | self.frame_buttons = QFrame(self.frame_principal) 154 | self.frame_buttons.setObjectName(u"frame_buttons") 155 | self.frame_buttons.setStyleSheet(u"background-color: transparent;") 156 | self.frame_buttons.setFrameShape(QFrame.StyledPanel) 157 | self.frame_buttons.setFrameShadow(QFrame.Raised) 158 | self.gridLayout = QGridLayout(self.frame_buttons) 159 | self.gridLayout.setSpacing(2) 160 | self.gridLayout.setObjectName(u"gridLayout") 161 | self.gridLayout.setContentsMargins(9, 9, 9, 9) 162 | self.frame_19 = QFrame(self.frame_buttons) 163 | self.frame_19.setObjectName(u"frame_19") 164 | self.frame_19.setFrameShape(QFrame.StyledPanel) 165 | self.frame_19.setFrameShadow(QFrame.Raised) 166 | self.verticalLayout_8 = QVBoxLayout(self.frame_19) 167 | self.verticalLayout_8.setSpacing(0) 168 | self.verticalLayout_8.setObjectName(u"verticalLayout_8") 169 | self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) 170 | self.bt_8 = QPushButton(self.frame_19) 171 | self.bt_8.setObjectName(u"bt_8") 172 | sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) 173 | sizePolicy1.setHorizontalStretch(0) 174 | sizePolicy1.setVerticalStretch(0) 175 | sizePolicy1.setHeightForWidth(self.bt_8.sizePolicy().hasHeightForWidth()) 176 | self.bt_8.setSizePolicy(sizePolicy1) 177 | font2 = QFont() 178 | font2.setFamily(u"Roboto Light") 179 | font2.setPointSize(22) 180 | self.bt_8.setFont(font2) 181 | self.bt_8.setStyleSheet(style.bts_numbers) 182 | self.verticalLayout_8.addWidget(self.bt_8) 183 | self.gridLayout.addWidget(self.frame_19, 1, 3, 1, 1) 184 | self.frame_7 = QFrame(self.frame_buttons) 185 | self.frame_7.setObjectName(u"frame_7") 186 | self.frame_7.setFrameShape(QFrame.StyledPanel) 187 | self.frame_7.setFrameShadow(QFrame.Raised) 188 | self.verticalLayout_16 = QVBoxLayout(self.frame_7) 189 | self.verticalLayout_16.setSpacing(0) 190 | self.verticalLayout_16.setObjectName(u"verticalLayout_16") 191 | self.verticalLayout_16.setContentsMargins(0, 0, 0, 0) 192 | self.bt_9 = QPushButton(self.frame_7) 193 | self.bt_9.setObjectName(u"bt_9") 194 | sizePolicy1.setHeightForWidth(self.bt_9.sizePolicy().hasHeightForWidth()) 195 | self.bt_9.setSizePolicy(sizePolicy1) 196 | self.bt_9.setFont(font2) 197 | self.bt_9.setStyleSheet(style.bts_numbers) 198 | self.verticalLayout_16.addWidget(self.bt_9) 199 | self.gridLayout.addWidget(self.frame_7, 1, 4, 1, 1) 200 | self.frame_9 = QFrame(self.frame_buttons) 201 | self.frame_9.setObjectName(u"frame_9") 202 | self.frame_9.setFrameShape(QFrame.StyledPanel) 203 | self.frame_9.setFrameShadow(QFrame.Raised) 204 | self.verticalLayout_13 = QVBoxLayout(self.frame_9) 205 | self.verticalLayout_13.setSpacing(0) 206 | self.verticalLayout_13.setObjectName(u"verticalLayout_13") 207 | self.verticalLayout_13.setContentsMargins(0, 0, 0, 0) 208 | self.bt_4 = QPushButton(self.frame_9) 209 | self.bt_4.setObjectName(u"bt_4") 210 | sizePolicy1.setHeightForWidth(self.bt_4.sizePolicy().hasHeightForWidth()) 211 | self.bt_4.setSizePolicy(sizePolicy1) 212 | self.bt_4.setFont(font2) 213 | self.bt_4.setStyleSheet(style.bts_numbers) 214 | self.verticalLayout_13.addWidget(self.bt_4) 215 | self.gridLayout.addWidget(self.frame_9, 2, 2, 1, 1) 216 | self.frame_10 = QFrame(self.frame_buttons) 217 | self.frame_10.setObjectName(u"frame_10") 218 | self.frame_10.setFrameShape(QFrame.StyledPanel) 219 | self.frame_10.setFrameShadow(QFrame.Raised) 220 | self.verticalLayout_14 = QVBoxLayout(self.frame_10) 221 | self.verticalLayout_14.setSpacing(0) 222 | self.verticalLayout_14.setObjectName(u"verticalLayout_14") 223 | self.verticalLayout_14.setContentsMargins(0, 0, 0, 0) 224 | self.bt_5 = QPushButton(self.frame_10) 225 | self.bt_5.setObjectName(u"bt_5") 226 | sizePolicy1.setHeightForWidth(self.bt_5.sizePolicy().hasHeightForWidth()) 227 | self.bt_5.setSizePolicy(sizePolicy1) 228 | self.bt_5.setFont(font2) 229 | self.bt_5.setStyleSheet(style.bts_numbers) 230 | self.verticalLayout_14.addWidget(self.bt_5) 231 | self.gridLayout.addWidget(self.frame_10, 2, 3, 1, 1) 232 | self.frame_15 = QFrame(self.frame_buttons) 233 | self.frame_15.setObjectName(u"frame_15") 234 | self.frame_15.setFrameShape(QFrame.StyledPanel) 235 | self.frame_15.setFrameShadow(QFrame.Raised) 236 | self.verticalLayout_12 = QVBoxLayout(self.frame_15) 237 | self.verticalLayout_12.setSpacing(0) 238 | self.verticalLayout_12.setObjectName(u"verticalLayout_12") 239 | self.verticalLayout_12.setContentsMargins(0, 0, 0, 0) 240 | self.bt_3 = QPushButton(self.frame_15) 241 | self.bt_3.setObjectName(u"bt_3") 242 | sizePolicy1.setHeightForWidth(self.bt_3.sizePolicy().hasHeightForWidth()) 243 | self.bt_3.setSizePolicy(sizePolicy1) 244 | self.bt_3.setFont(font2) 245 | self.bt_3.setStyleSheet(style.bts_numbers) 246 | self.verticalLayout_12.addWidget(self.bt_3) 247 | self.gridLayout.addWidget(self.frame_15, 3, 4, 1, 1) 248 | self.frame_13 = QFrame(self.frame_buttons) 249 | self.frame_13.setObjectName(u"frame_13") 250 | self.frame_13.setFrameShape(QFrame.StyledPanel) 251 | self.frame_13.setFrameShadow(QFrame.Raised) 252 | self.verticalLayout_10 = QVBoxLayout(self.frame_13) 253 | self.verticalLayout_10.setSpacing(0) 254 | self.verticalLayout_10.setObjectName(u"verticalLayout_10") 255 | self.verticalLayout_10.setContentsMargins(0, 0, 0, 0) 256 | self.bt_1 = QPushButton(self.frame_13) 257 | self.bt_1.setObjectName(u"bt_1") 258 | sizePolicy1.setHeightForWidth(self.bt_1.sizePolicy().hasHeightForWidth()) 259 | self.bt_1.setSizePolicy(sizePolicy1) 260 | self.bt_1.setFont(font2) 261 | self.bt_1.setStyleSheet(style.bts_numbers) 262 | self.verticalLayout_10.addWidget(self.bt_1) 263 | self.gridLayout.addWidget(self.frame_13, 3, 2, 1, 1) 264 | self.frame_14 = QFrame(self.frame_buttons) 265 | self.frame_14.setObjectName(u"frame_14") 266 | self.frame_14.setFrameShape(QFrame.StyledPanel) 267 | self.frame_14.setFrameShadow(QFrame.Raised) 268 | self.verticalLayout_11 = QVBoxLayout(self.frame_14) 269 | self.verticalLayout_11.setSpacing(0) 270 | self.verticalLayout_11.setObjectName(u"verticalLayout_11") 271 | self.verticalLayout_11.setContentsMargins(0, 0, 0, 0) 272 | self.bt_2 = QPushButton(self.frame_14) 273 | self.bt_2.setObjectName(u"bt_2") 274 | sizePolicy1.setHeightForWidth(self.bt_2.sizePolicy().hasHeightForWidth()) 275 | self.bt_2.setSizePolicy(sizePolicy1) 276 | self.bt_2.setFont(font2) 277 | self.bt_2.setStyleSheet(style.bts_numbers) 278 | self.verticalLayout_11.addWidget(self.bt_2) 279 | self.gridLayout.addWidget(self.frame_14, 3, 3, 1, 1) 280 | self.frame_11 = QFrame(self.frame_buttons) 281 | self.frame_11.setObjectName(u"frame_11") 282 | self.frame_11.setFrameShape(QFrame.StyledPanel) 283 | self.frame_11.setFrameShadow(QFrame.Raised) 284 | self.verticalLayout_15 = QVBoxLayout(self.frame_11) 285 | self.verticalLayout_15.setSpacing(0) 286 | self.verticalLayout_15.setObjectName(u"verticalLayout_15") 287 | self.verticalLayout_15.setContentsMargins(0, 0, 0, 0) 288 | self.bt_6 = QPushButton(self.frame_11) 289 | self.bt_6.setObjectName(u"bt_6") 290 | sizePolicy1.setHeightForWidth(self.bt_6.sizePolicy().hasHeightForWidth()) 291 | self.bt_6.setSizePolicy(sizePolicy1) 292 | self.bt_6.setFont(font2) 293 | self.bt_6.setStyleSheet(style.bts_numbers) 294 | self.verticalLayout_15.addWidget(self.bt_6) 295 | self.gridLayout.addWidget(self.frame_11, 2, 4, 1, 1) 296 | self.frame_12 = QFrame(self.frame_buttons) 297 | self.frame_12.setObjectName(u"frame_12") 298 | self.frame_12.setFrameShape(QFrame.StyledPanel) 299 | self.frame_12.setFrameShadow(QFrame.Raised) 300 | self.verticalLayout_22 = QVBoxLayout(self.frame_12) 301 | self.verticalLayout_22.setSpacing(0) 302 | self.verticalLayout_22.setObjectName(u"verticalLayout_22") 303 | self.verticalLayout_22.setContentsMargins(0, 0, 0, 0) 304 | self.bt_plus = QPushButton(self.frame_12) 305 | self.bt_plus.setObjectName(u"bt_plus") 306 | sizePolicy1.setHeightForWidth(self.bt_plus.sizePolicy().hasHeightForWidth()) 307 | self.bt_plus.setSizePolicy(sizePolicy1) 308 | font3 = QFont() 309 | font3.setFamily(u"Roboto Light") 310 | font3.setPointSize(20) 311 | self.bt_plus.setFont(font3) 312 | self.bt_plus.setStyleSheet(style.bts_functions) 313 | self.verticalLayout_22.addWidget(self.bt_plus) 314 | self.gridLayout.addWidget(self.frame_12, 2, 5, 1, 1) 315 | self.frame_8 = QFrame(self.frame_buttons) 316 | self.frame_8.setObjectName(u"frame_8") 317 | self.frame_8.setFrameShape(QFrame.StyledPanel) 318 | self.frame_8.setFrameShadow(QFrame.Raised) 319 | self.verticalLayout_21 = QVBoxLayout(self.frame_8) 320 | self.verticalLayout_21.setObjectName(u"verticalLayout_21") 321 | self.verticalLayout_21.setContentsMargins(0, 0, 0, 0) 322 | self.bt_minus = QPushButton(self.frame_8) 323 | self.bt_minus.setObjectName(u"bt_minus") 324 | sizePolicy1.setHeightForWidth(self.bt_minus.sizePolicy().hasHeightForWidth()) 325 | self.bt_minus.setSizePolicy(sizePolicy1) 326 | font4 = QFont() 327 | font4.setFamily(u"Roboto Light") 328 | font4.setPointSize(30) 329 | self.bt_minus.setFont(font4) 330 | self.bt_minus.setStyleSheet(style.bts_functions) 331 | self.verticalLayout_21.addWidget(self.bt_minus) 332 | self.gridLayout.addWidget(self.frame_8, 1, 5, 1, 1) 333 | self.frame_5 = QFrame(self.frame_buttons) 334 | self.frame_5.setObjectName(u"frame_5") 335 | self.frame_5.setFrameShape(QFrame.StyledPanel) 336 | self.frame_5.setFrameShadow(QFrame.Raised) 337 | self.verticalLayout_7 = QVBoxLayout(self.frame_5) 338 | self.verticalLayout_7.setSpacing(0) 339 | self.verticalLayout_7.setObjectName(u"verticalLayout_7") 340 | self.verticalLayout_7.setContentsMargins(0, 0, 0, 0) 341 | self.bt_7 = QPushButton(self.frame_5) 342 | self.bt_7.setObjectName(u"bt_7") 343 | sizePolicy1.setHeightForWidth(self.bt_7.sizePolicy().hasHeightForWidth()) 344 | self.bt_7.setSizePolicy(sizePolicy1) 345 | self.bt_7.setFont(font2) 346 | self.bt_7.setStyleSheet(style.bts_numbers) 347 | self.verticalLayout_7.addWidget(self.bt_7) 348 | self.gridLayout.addWidget(self.frame_5, 1, 2, 1, 1) 349 | self.frame_2 = QFrame(self.frame_buttons) 350 | self.frame_2.setObjectName(u"frame_2") 351 | self.frame_2.setFrameShape(QFrame.StyledPanel) 352 | self.frame_2.setFrameShadow(QFrame.Raised) 353 | self.verticalLayout_18 = QVBoxLayout(self.frame_2) 354 | self.verticalLayout_18.setObjectName(u"verticalLayout_18") 355 | self.verticalLayout_18.setContentsMargins(0, 0, 0, 0) 356 | self.bt_backspace = QPushButton(self.frame_2) 357 | self.bt_backspace.setObjectName(u"bt_backspace") 358 | sizePolicy1.setHeightForWidth(self.bt_backspace.sizePolicy().hasHeightForWidth()) 359 | self.bt_backspace.setSizePolicy(sizePolicy1) 360 | font5 = QFont() 361 | font5.setFamily(u"Roboto Light") 362 | font5.setPointSize(15) 363 | self.bt_backspace.setFont(font5) 364 | self.bt_backspace.setStyleSheet(style.bts_backspace) 365 | self.verticalLayout_18.addWidget(self.bt_backspace) 366 | self.gridLayout.addWidget(self.frame_2, 0, 3, 1, 1) 367 | self.frame_1 = QFrame(self.frame_buttons) 368 | self.frame_1.setObjectName(u"frame_1") 369 | self.frame_1.setFrameShape(QFrame.StyledPanel) 370 | self.frame_1.setFrameShadow(QFrame.Raised) 371 | self.verticalLayout_3 = QVBoxLayout(self.frame_1) 372 | self.verticalLayout_3.setSpacing(0) 373 | self.verticalLayout_3.setObjectName(u"verticalLayout_3") 374 | self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) 375 | self.bt_clear = QPushButton(self.frame_1) 376 | self.bt_clear.setObjectName(u"bt_clear") 377 | sizePolicy1.setHeightForWidth(self.bt_clear.sizePolicy().hasHeightForWidth()) 378 | self.bt_clear.setSizePolicy(sizePolicy1) 379 | self.bt_clear.setFont(font5) 380 | self.bt_clear.setStyleSheet(style.bts_functions) 381 | self.verticalLayout_3.addWidget(self.bt_clear) 382 | self.gridLayout.addWidget(self.frame_1, 0, 2, 1, 1) 383 | self.frame_3 = QFrame(self.frame_buttons) 384 | self.frame_3.setObjectName(u"frame_3") 385 | self.frame_3.setFrameShape(QFrame.StyledPanel) 386 | self.frame_3.setFrameShadow(QFrame.Raised) 387 | self.verticalLayout_19 = QVBoxLayout(self.frame_3) 388 | self.verticalLayout_19.setSpacing(0) 389 | self.verticalLayout_19.setObjectName(u"verticalLayout_19") 390 | self.verticalLayout_19.setContentsMargins(0, 0, 0, 0) 391 | self.bt_div = QPushButton(self.frame_3) 392 | self.bt_div.setObjectName(u"bt_div") 393 | sizePolicy1.setHeightForWidth(self.bt_div.sizePolicy().hasHeightForWidth()) 394 | self.bt_div.setSizePolicy(sizePolicy1) 395 | self.bt_div.setFont(font3) 396 | self.bt_div.setStyleSheet(style.bts_functions) 397 | self.verticalLayout_19.addWidget(self.bt_div) 398 | self.gridLayout.addWidget(self.frame_3, 0, 4, 1, 1) 399 | self.frame_4 = QFrame(self.frame_buttons) 400 | self.frame_4.setObjectName(u"frame_4") 401 | self.frame_4.setFrameShape(QFrame.StyledPanel) 402 | self.frame_4.setFrameShadow(QFrame.Raised) 403 | self.verticalLayout_20 = QVBoxLayout(self.frame_4) 404 | self.verticalLayout_20.setSpacing(0) 405 | self.verticalLayout_20.setObjectName(u"verticalLayout_20") 406 | self.verticalLayout_20.setContentsMargins(0, 0, 0, 0) 407 | self.bt_multiply = QPushButton(self.frame_4) 408 | self.bt_multiply.setObjectName(u"bt_multiply") 409 | sizePolicy1.setHeightForWidth(self.bt_multiply.sizePolicy().hasHeightForWidth()) 410 | self.bt_multiply.setSizePolicy(sizePolicy1) 411 | self.bt_multiply.setFont(font5) 412 | self.bt_multiply.setStyleSheet(style.bts_functions) 413 | self.verticalLayout_20.addWidget(self.bt_multiply) 414 | self.gridLayout.addWidget(self.frame_4, 0, 5, 1, 1) 415 | self.frame_6 = QFrame(self.frame_buttons) 416 | self.frame_6.setObjectName(u"frame_6") 417 | self.frame_6.setFrameShape(QFrame.StyledPanel) 418 | self.frame_6.setFrameShadow(QFrame.Raised) 419 | self.verticalLayout_17 = QVBoxLayout(self.frame_6) 420 | self.verticalLayout_17.setSpacing(0) 421 | self.verticalLayout_17.setObjectName(u"verticalLayout_17") 422 | self.verticalLayout_17.setContentsMargins(0, 0, 0, 0) 423 | self.bt_copy = QPushButton(self.frame_6) 424 | self.bt_copy.setObjectName(u"bt_copy") 425 | sizePolicy1.setHeightForWidth(self.bt_copy.sizePolicy().hasHeightForWidth()) 426 | self.bt_copy.setSizePolicy(sizePolicy1) 427 | self.bt_copy.setFont(font5) 428 | self.bt_copy.setStyleSheet(style.bts_functions) 429 | self.verticalLayout_17.addWidget(self.bt_copy) 430 | self.gridLayout.addWidget(self.frame_6, 4, 2, 1, 1) 431 | self.frame_20 = QFrame(self.frame_buttons) 432 | self.frame_20.setObjectName(u"frame_20") 433 | self.frame_20.setFrameShape(QFrame.StyledPanel) 434 | self.frame_20.setFrameShadow(QFrame.Raised) 435 | self.verticalLayout_9 = QVBoxLayout(self.frame_20) 436 | self.verticalLayout_9.setSpacing(0) 437 | self.verticalLayout_9.setObjectName(u"verticalLayout_9") 438 | self.verticalLayout_9.setContentsMargins(0, 0, 0, 0) 439 | self.bt_0 = QPushButton(self.frame_20) 440 | self.bt_0.setObjectName(u"bt_0") 441 | sizePolicy1.setHeightForWidth(self.bt_0.sizePolicy().hasHeightForWidth()) 442 | self.bt_0.setSizePolicy(sizePolicy1) 443 | self.bt_0.setFont(font2) 444 | self.bt_0.setStyleSheet(style.bts_numbers) 445 | self.verticalLayout_9.addWidget(self.bt_0) 446 | self.gridLayout.addWidget(self.frame_20, 4, 3, 1, 1) 447 | self.frame_21 = QFrame(self.frame_buttons) 448 | self.frame_21.setObjectName(u"frame_21") 449 | self.frame_21.setFrameShape(QFrame.StyledPanel) 450 | self.frame_21.setFrameShadow(QFrame.Raised) 451 | self.verticalLayout_25 = QVBoxLayout(self.frame_21) 452 | self.verticalLayout_25.setSpacing(0) 453 | self.verticalLayout_25.setObjectName(u"verticalLayout_25") 454 | self.verticalLayout_25.setContentsMargins(0, 0, 0, 0) 455 | self.bt_dot = QPushButton(self.frame_21) 456 | self.bt_dot.setObjectName(u"bt_dot") 457 | sizePolicy1.setHeightForWidth(self.bt_dot.sizePolicy().hasHeightForWidth()) 458 | self.bt_dot.setSizePolicy(sizePolicy1) 459 | self.bt_dot.setFont(font4) 460 | self.bt_dot.setStyleSheet(style.bts_functions) 461 | self.verticalLayout_25.addWidget(self.bt_dot) 462 | self.gridLayout.addWidget(self.frame_21, 4, 4, 1, 1) 463 | self.frame_22 = QFrame(self.frame_buttons) 464 | self.frame_22.setObjectName(u"frame_22") 465 | self.frame_22.setFrameShape(QFrame.StyledPanel) 466 | self.frame_22.setFrameShadow(QFrame.Raised) 467 | self.verticalLayout_23 = QVBoxLayout(self.frame_22) 468 | self.verticalLayout_23.setSpacing(0) 469 | self.verticalLayout_23.setObjectName(u"verticalLayout_23") 470 | self.verticalLayout_23.setContentsMargins(0, 0, 0, 0) 471 | self.bt_equal = QPushButton(self.frame_22) 472 | self.bt_equal.setObjectName(u"bt_equal") 473 | sizePolicy1.setHeightForWidth(self.bt_equal.sizePolicy().hasHeightForWidth()) 474 | self.bt_equal.setSizePolicy(sizePolicy1) 475 | self.bt_equal.setFont(font4) 476 | self.bt_equal.setStyleSheet(style.bts_equal) 477 | self.verticalLayout_23.addWidget(self.bt_equal) 478 | self.gridLayout.addWidget(self.frame_22, 3, 5, 2, 1) 479 | self.verticalLayout_2.addWidget(self.frame_buttons) 480 | self.frame_credits = QFrame(self.frame_principal) 481 | self.frame_credits.setObjectName(u"frame_credits") 482 | self.frame_credits.setMinimumSize(QSize(0, 0)) 483 | self.frame_credits.setMaximumSize(QSize(16777215, 30)) 484 | self.frame_credits.setStyleSheet(u"background-color: transparent;") 485 | self.frame_credits.setFrameShape(QFrame.StyledPanel) 486 | self.frame_credits.setFrameShadow(QFrame.Raised) 487 | self.horizontalLayout_2 = QHBoxLayout(self.frame_credits) 488 | self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") 489 | self.horizontalLayout_2.setContentsMargins(15, 0, 0, 0) 490 | self.label_credits = QLabel(self.frame_credits) 491 | self.label_credits.setObjectName(u"label_credits") 492 | font6 = QFont() 493 | font6.setFamily(u"Roboto") 494 | self.label_credits.setFont(font6) 495 | self.label_credits.setStyleSheet(u"QLabel { background-color: transparent; } QLabel:hover { color: rgb(190, 190, 190); }") 496 | self.horizontalLayout_2.addWidget(self.label_credits) 497 | self.verticalLayout_2.addWidget(self.frame_credits) 498 | self.verticalLayout.addWidget(self.frame_principal) 499 | 500 | # TAB INDEX ORDER 501 | self.setTabOrder(self.pushButton_minimize, self.pushButton_max_rest) 502 | self.setTabOrder(self.pushButton_max_rest, self.pushButton_close) 503 | self.setTabOrder(self.pushButton_close, self.lineEdit_values) 504 | self.setTabOrder(self.bt_0, self.bt_1) 505 | self.setTabOrder(self.bt_1, self.bt_2) 506 | self.setTabOrder(self.bt_2, self.bt_3) 507 | self.setTabOrder(self.bt_3, self.bt_4) 508 | self.setTabOrder(self.bt_4, self.bt_5) 509 | self.setTabOrder(self.bt_5, self.bt_6) 510 | self.setTabOrder(self.bt_6, self.bt_7) 511 | self.setTabOrder(self.bt_7, self.bt_8) 512 | self.setTabOrder(self.bt_8, self.bt_9) 513 | self.setTabOrder(self.bt_9, self.bt_dot) 514 | self.setTabOrder(self.bt_clear, self.bt_backspace) 515 | self.setTabOrder(self.bt_backspace, self.bt_div) 516 | self.setTabOrder(self.bt_div, self.bt_multiply) 517 | self.setTabOrder(self.bt_multiply, self.bt_minus) 518 | self.setTabOrder(self.bt_minus, self.bt_plus) 519 | self.setTabOrder(self.bt_plus, self.bt_equal) 520 | self.setTabOrder(self.bt_equal, self.bt_copy) 521 | 522 | # END --- WIDGETS 523 | 524 | ######################################################################## 525 | # START - GUI FUNCTIONS 526 | ######################################################################## 527 | 528 | ## TITLE BAR BTS 529 | ######################################################################## 530 | 531 | # MINIMIZE 532 | self.pushButton_minimize.clicked.connect(lambda: self.showMinimized()) 533 | 534 | # MAXIMIZE RESTORE 535 | globals()['state'] = 0 536 | def maximize(): 537 | if globals()['state'] == 0: 538 | self.showMaximized() 539 | globals()['state'] = 1 540 | self.pushButton_max_rest.setToolTip("Restore") 541 | self.pushButton_max_rest.setStyleSheet(style.bts_title_bar_restore) 542 | elif globals()['state'] == 1: 543 | self.setWindowState(QtCore.Qt.WindowNoState) 544 | globals()['state'] = 0 545 | self.pushButton_max_rest.setToolTip("Maximize") 546 | self.pushButton_max_rest.setStyleSheet(style.bts_title_bar_maximize) 547 | 548 | self.pushButton_max_rest.clicked.connect(lambda: maximize()) 549 | 550 | # CLOSE WINDOW 551 | self.pushButton_close.clicked.connect(lambda: self.close()) 552 | 553 | ## BTS NUMBERS FUNCTIONS 554 | ######################################################################## 555 | 556 | # DEF WRITE NUMBER 557 | def writeNumber(value): 558 | numbers = self.lineEdit_values.text() 559 | self.lineEdit_values.setText(numbers + str(value)) 560 | self.clearRepeat() 561 | 562 | # BTS NUMBERS 563 | self.bt_0.clicked.connect(lambda: writeNumber(0)) 564 | self.bt_1.clicked.connect(lambda: writeNumber(1)) 565 | self.bt_2.clicked.connect(lambda: writeNumber(2)) 566 | self.bt_3.clicked.connect(lambda: writeNumber(3)) 567 | self.bt_4.clicked.connect(lambda: writeNumber(4)) 568 | self.bt_5.clicked.connect(lambda: writeNumber(5)) 569 | self.bt_6.clicked.connect(lambda: writeNumber(6)) 570 | self.bt_7.clicked.connect(lambda: writeNumber(7)) 571 | self.bt_8.clicked.connect(lambda: writeNumber(8)) 572 | self.bt_9.clicked.connect(lambda: writeNumber(9)) 573 | # DOT 574 | self.bt_dot.clicked.connect(lambda: writeNumber('.')) 575 | 576 | # BT CLEAR 577 | def clearFields(): 578 | self.label_temp.setText('') 579 | self.lineEdit_values.setText('') 580 | self.lineEdit_values.setFocus() 581 | 582 | self.bt_clear.clicked.connect(lambda: clearFields()) 583 | 584 | 585 | # BACKSPACE 586 | self.bt_backspace.clicked.connect(lambda: self.clearClick()) 587 | 588 | 589 | 590 | # Bts Operators 591 | self.bt_div.clicked.connect(lambda: self.setOperations('÷')) 592 | self.bt_multiply.clicked.connect(lambda: self.setOperations('x')) 593 | self.bt_minus.clicked.connect(lambda: self.setOperations('-')) 594 | self.bt_plus.clicked.connect(lambda: self.setOperations('+')) 595 | 596 | # BT EQUAL 597 | self.bt_equal.clicked.connect(lambda: self.returnValue()) 598 | 599 | # BT CREDITS 600 | globals()['valueTemp'] = '' 601 | def showCredits(): 602 | self.bt_copy.setEnabled(False) 603 | globals()['valueTemp'] = self.lineEdit_values.text() 604 | self.lineEdit_values.setText('') 605 | QtCore.QTimer.singleShot(100, lambda: self.lineEdit_values.setPlaceholderText("Created")) 606 | QtCore.QTimer.singleShot(1300, lambda: self.lineEdit_values.setPlaceholderText("by:")) 607 | QtCore.QTimer.singleShot(2100, lambda: self.lineEdit_values.setPlaceholderText("Wanderson")) 608 | QtCore.QTimer.singleShot(3500, lambda: self.lineEdit_values.setPlaceholderText("with")) 609 | QtCore.QTimer.singleShot(4500, lambda: self.lineEdit_values.setPlaceholderText("Python")) 610 | QtCore.QTimer.singleShot(5500, lambda: self.lineEdit_values.setPlaceholderText("and")) 611 | QtCore.QTimer.singleShot(6500, lambda: self.lineEdit_values.setPlaceholderText("PySide2")) 612 | QtCore.QTimer.singleShot(7500, lambda: self.lineEdit_values.setPlaceholderText(":D")) 613 | QtCore.QTimer.singleShot(8000, lambda: self.lineEdit_values.setPlaceholderText("")) 614 | QtCore.QTimer.singleShot(8050, lambda: self.lineEdit_values.setText(globals()['valueTemp'])) 615 | QtCore.QTimer.singleShot(8100, lambda: self.bt_copy.setEnabled(True)) 616 | 617 | self.bt_copy.clicked.connect(lambda: showCredits()) 618 | 619 | ## KEY PRESSED 620 | ######################################################################## 621 | self.lineEdit_values.keyPressEvent = self.keyPressEvent 622 | 623 | ## WELCOME TEXT ANIMATION 624 | ######################################################################## 625 | self.lineEdit_values.setFocus() 626 | self.bt_copy.setEnabled(False) 627 | QtCore.QTimer.singleShot(200, lambda: self.lineEdit_values.setPlaceholderText("H")) 628 | QtCore.QTimer.singleShot(600, lambda: self.lineEdit_values.setPlaceholderText("Hi")) 629 | QtCore.QTimer.singleShot(1000, lambda: self.lineEdit_values.setPlaceholderText("Hi!")) 630 | QtCore.QTimer.singleShot(3000, lambda: self.lineEdit_values.setPlaceholderText("Welcome!")) 631 | QtCore.QTimer.singleShot(4000, lambda: self.lineEdit_values.setPlaceholderText("...")) 632 | QtCore.QTimer.singleShot(5000, lambda: self.lineEdit_values.setPlaceholderText("Here we go")) 633 | QtCore.QTimer.singleShot(6500, lambda: self.lineEdit_values.setPlaceholderText(":D")) 634 | QtCore.QTimer.singleShot(7800, lambda: self.lineEdit_values.setPlaceholderText("")) 635 | QtCore.QTimer.singleShot(8000, lambda: self.bt_copy.setEnabled(True)) 636 | 637 | 638 | ## MOVE WINDOW 639 | ######################################################################## 640 | def moveWindow(event): 641 | if event.buttons() == Qt.LeftButton: 642 | self.move(self.pos() + event.globalPos() - self.dragPos) 643 | self.dragPos = event.globalPos() 644 | event.accept() 645 | if globals()['state']: 646 | globals()['state'] = 0 647 | maximize() 648 | self.setWindowState(QtCore.Qt.WindowNoState) 649 | self.pushButton_max_rest.setStyleSheet(style.bts_title_bar_maximize) 650 | globals()['state'] = 0 651 | 652 | self.frame_topMenu.mouseMoveEvent = moveWindow 653 | self.frame_labelTemp.mouseMoveEvent = moveWindow 654 | #self.label_title.mouseMoveEvent = moveWindow 655 | self.label_credits.mouseMoveEvent = moveWindow 656 | 657 | 658 | 659 | ######################################################################## 660 | # END - GUI FUNCTIONS 661 | ######################################################################## 662 | 663 | # CHANGE "MainWindow" TO "self" 664 | self.setCentralWidget(self.centralwidget) 665 | self.retranslateUi(self) 666 | QtCore.QMetaObject.connectSlotsByName(self) 667 | ## SHOW WINDOW 668 | self.show() 669 | 670 | ## RETRANSLATE 671 | ############################################################################ 672 | def retranslateUi(self, MainWindow): 673 | MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Calculator", None)) 674 | self.label_title.setText(QCoreApplication.translate("MainWindow", u"Calculator", None)) 675 | #if QT_CONFIG(tooltip) 676 | self.pushButton_minimize.setToolTip(QCoreApplication.translate("MainWindow", u"Minimize", None)) 677 | #endif // QT_CONFIG(tooltip) 678 | self.pushButton_minimize.setText("") 679 | #if QT_CONFIG(tooltip) 680 | self.pushButton_max_rest.setToolTip(QCoreApplication.translate("MainWindow", u"Maximize", None)) 681 | #endif // QT_CONFIG(tooltip) 682 | self.pushButton_max_rest.setText("") 683 | #if QT_CONFIG(tooltip) 684 | self.pushButton_close.setToolTip(QCoreApplication.translate("MainWindow", u"Close", None)) 685 | #endif // QT_CONFIG(tooltip) 686 | self.pushButton_close.setText("") 687 | self.label_temp.setText(QCoreApplication.translate("MainWindow", u"", None)) 688 | self.lineEdit_values.setText(QCoreApplication.translate("MainWindow", u"", None)) 689 | self.bt_8.setText(QCoreApplication.translate("MainWindow", u"8", None)) 690 | self.bt_9.setText(QCoreApplication.translate("MainWindow", u"9", None)) 691 | self.bt_4.setText(QCoreApplication.translate("MainWindow", u"4", None)) 692 | self.bt_5.setText(QCoreApplication.translate("MainWindow", u"5", None)) 693 | self.bt_3.setText(QCoreApplication.translate("MainWindow", u"3", None)) 694 | self.bt_1.setText(QCoreApplication.translate("MainWindow", u"1", None)) 695 | self.bt_2.setText(QCoreApplication.translate("MainWindow", u"2", None)) 696 | self.bt_6.setText(QCoreApplication.translate("MainWindow", u"6", None)) 697 | self.bt_plus.setText(QCoreApplication.translate("MainWindow", u"+", None)) 698 | self.bt_minus.setText(QCoreApplication.translate("MainWindow", u"-", None)) 699 | self.bt_7.setText(QCoreApplication.translate("MainWindow", u"7", None)) 700 | self.bt_backspace.setText("") 701 | self.bt_clear.setText(QCoreApplication.translate("MainWindow", u"C", None)) 702 | self.bt_div.setText(QCoreApplication.translate("MainWindow", u"\u00f7", None)) 703 | self.bt_multiply.setText(QCoreApplication.translate("MainWindow", u"x", None)) 704 | self.bt_copy.setText(QCoreApplication.translate("MainWindow", u"\u00a9", None)) 705 | self.bt_0.setText(QCoreApplication.translate("MainWindow", u"0", None)) 706 | self.bt_dot.setText(QCoreApplication.translate("MainWindow", u".", None)) 707 | self.bt_equal.setText(QCoreApplication.translate("MainWindow", u"=", None)) 708 | self.label_credits.setText(QCoreApplication.translate("MainWindow", u"Modern Calculator", None)) 709 | 710 | ## START -- APP EVENTS 711 | ############################################################################ 712 | 713 | # RESIZE EVENT 714 | def resizeEvent(self, event): 715 | self.someFunction() 716 | return super(Ui, self).resizeEvent(event) 717 | 718 | def someFunction(self): 719 | if self.height() > 600: 720 | maximumSize = (self.height() / 20) 721 | self.frame_lineEdit.setMaximumSize(QSize(16777215, (100 + maximumSize * 2))) 722 | else: 723 | self.frame_lineEdit.setMaximumSize(QSize(16777215, 100)) 724 | 725 | # MOUSE CLICK 726 | def mousePressEvent(self, event): 727 | self.dragPos = event.globalPos() 728 | self.lineEdit_values.setFocus() 729 | 730 | # BT EQUAL 731 | def returnValue(self): 732 | value = self.lineEdit_values.text() 733 | tempValue = self.label_temp.text() 734 | 735 | if tempValue != '' and value != '': 736 | join_values = str(tempValue + value).replace(' ', '').replace('÷','/').replace('x','*') 737 | result = eval(join_values) 738 | self.label_temp.setText('') 739 | self.lineEdit_values.setText(str(result)) 740 | self.lineEdit_values.setFocus() 741 | 742 | 743 | # JUST NUMBERS AND ".", "," 744 | def justNumbers(self, value): 745 | text = str(self.lineEdit_values.text()) 746 | value = str(value) 747 | clear = ''.join([n for n in value if n.isdigit() or n == '.' or n == ',']) 748 | s = value.isdigit() 749 | 750 | if s: 751 | self.lineEdit_values.setText(text + value) 752 | self.clearRepeat() 753 | else: 754 | self.lineEdit_values.setText(text + clear) 755 | self.clearRepeat() 756 | self.lineEdit_values.setFocus() 757 | 758 | # CLEAR MULTIPLES DOTs 759 | def clearRepeat(self): 760 | text = str(self.lineEdit_values.text()) 761 | text = text.replace(',','.').replace('+', '').replace('/', '').replace('*', '').replace('--', '-') 762 | return self.lineEdit_values.setText(text.replace('..','.')) 763 | 764 | # BT BACKSPACE 765 | def clearClick(self): 766 | values = self.lineEdit_values.text() 767 | if values != '': 768 | values = values[:-1] 769 | self.lineEdit_values.setText(values) 770 | self.lineEdit_values.setFocus() 771 | 772 | # BTS OPERATIONS 773 | globals()['operator'] = '' 774 | def setOperations(self, operator): 775 | value = self.lineEdit_values.text() 776 | tempValue = self.label_temp.text() 777 | 778 | if tempValue != '' and value != '': 779 | join_values = str(tempValue + value).replace(' ', '').replace('÷','/').replace('x','*') 780 | result = eval(join_values) 781 | self.label_temp.setText(str(result) + ' ' + operator) 782 | self.lineEdit_values.setText('') 783 | globals()['operator'] = operator 784 | elif value != '': 785 | self.label_temp.setText(value + ' ' + operator) 786 | self.lineEdit_values.setText('') 787 | globals()['operator'] = operator 788 | elif tempValue != '': 789 | tempValue = tempValue[:-1].replace(' ','') 790 | self.label_temp.setText(tempValue + ' ' + operator) 791 | globals()['operator'] = operator 792 | self.lineEdit_values.setFocus() 793 | 794 | def keyPressEvent(self, event): 795 | # PRESS ENTER 796 | if event.key() == Qt.Key_Enter or event.key() == Qt.Key_Return: 797 | self.returnValue() 798 | self.lineEdit_values.setFocus() 799 | event.accept() 800 | 801 | # BACKSPACE 802 | if event.key() == Qt.Key_Backspace: 803 | self.clearClick() 804 | 805 | # OPERATIONS 806 | if event.text() == '-': 807 | if self.label_temp.text() == '' and self.lineEdit_values.text() == '': 808 | self.label_temp.setText('0-') 809 | self.setOperations('-') 810 | if event.text() == '+': 811 | self.setOperations('+') 812 | if event.text() == '*': 813 | self.setOperations('x') 814 | if event.text() == '/': 815 | self.setOperations('÷') 816 | 817 | # RETURN JUST NUMBERS 818 | self.justNumbers(event.text()) 819 | 820 | ## END -- APP EVENTS 821 | ############################################################################ 822 | 823 | if __name__ == "__main__": 824 | import sys 825 | app = QtWidgets.QApplication(sys.argv) 826 | QtGui.QFontDatabase.addApplicationFont('fonts/Roboto-Regular.ttf') 827 | ui = Ui() 828 | app.exec_() 829 | -------------------------------------------------------------------------------- /files_rc.py: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## STUDY PROJECT BY: WANDERSON M. 4 | ## PROJECT MADE WITH: Qt Designer and PySide2 5 | ## V: 0.1 6 | ## 7 | ################################################################################ 8 | 9 | from PySide2 import QtCore 10 | 11 | qt_resource_data = b"\ 12 | \x00\x00\x06R\ 13 | \x89\ 14 | PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ 15 | \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ 16 | \x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ 17 | \x01\x00\x9a\x9c\x18\x00\x00\x05\x16iTXtXML\ 18 | :com.adobe.xmp\x00\x00\ 19 | \x00\x00\x00 \ 98 | \xf64\xbc\x22\x00\x00\x00\xe2IDAT8\ 100 | \x8d\xa5\xd3-R\x041\x10\x86\xe1'T\xf8[\x8aB\ 101 | \xe2)\x0e\xb0\x0a\x87Ab\xf0h$\x0e\x81\xe2\x0c\x1c\ 102 | \x00\x83\xe1\x02\x14k\xb18\x8e1s\x01(\x96aw\ 103 | \x83\xd8\xa4\xc0\xc0dj\xdb\xa4\xd2\x95~\xfb\xeb\x9f\x84\ 104 | \x94\x92U,\xb6m{\x86\x0b|`\xad2.`\x8a\ 105 | \x9b\x88\xf3\xec|\xc2.\x16=\x81\xd0\xe1\x0a\xa7\x11\x09\ 106 | wx\x1c\xa4\x9d#l\xc4L\xbb\xc4!F\x19\xd8'\ 107 | \xbf\xc31^\x8b\x82\xfd\x0c\xd8\xae\x04|Y\x96;\x8f\ 108 | \xd8\xc4-\xee\x07\x96\xf0\x80\x9d\x98/\xa3|F\xcc{\ 109 | \xb2\x87\xfcf\x1d\xa9\x00\x8a\xec\x85\xffKH~&\x01\ 110 | \xa1v\xee\x7f\xda\xca\x802\x85\x22\xab\x06Xz@\xee\ 111 | A\xc2{v\xcc\x06$\xff,\x0a\xb60\xc6\x0b\xf6\xd4\ 112 | \xad\xf2\x14\x07\xf2\x22Mp\x8d\x13\xc3>\xd3\x1b\x9eC\ 113 | \xd34,70\xe8\xdf\xc2\xdf\x80\x19\xbao\xbb\x8c4\ 114 | \xe8i\xfa\xe2B\x00\x00\x00\x00IEND\xaeB`\ 115 | \x82\ 116 | \x00\x00\x06\xa9\ 117 | \x89\ 118 | PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ 119 | \x00\x00\x14\x00\x00\x00\x14\x08\x04\x00\x00\x00'\x80\xd5\x86\ 120 | \x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ 121 | \x01\x00\x9a\x9c\x18\x00\x00\x05\x11iTXtXML\ 122 | :com.adobe.xmp\x00\x00\ 123 | \x00\x00\x00 <\ 198 | /xmpMM:History> \ 199 | a\xac\ 203 | yX\x00\x00\x01>IDAT(\x91\xc5\xd2\xbfk\ 204 | \x93Q\x14\xc6\xf1\xcf\x1b\x228\xa41!\xa3\xa9\xd4!\ 205 | \x83\x10\x82\xe2\xd0E\x87\x82\x04\xc5\x8a\x12p\xc8(\x08\ 206 | v\x098\x88\xffCvAh\x17'\x05\xa1PJ\x10\ 207 | \x04\x05\x7f\x14\xb5\x12\x90,\xa2\x83\x08fP(EH\ 208 | IL\x04}\x1d\xde7?J\x08d\xf3L\xf7|\xcf\ 209 | s\x0f\xcf\xc3\xbdAh\xbeJ\xcc\xa9\x9b_\x98|7\ 210 | <\xa5<\xb2:C\xd5UM\x8e\x9a\x8f\x16\xd5\xf5\xb4\ 211 | e\xa4c\xb6g \x8fK\xb6\x87\xc2M\x8bR\xba3\ 212 | 6>\xb3\x13y\xbc\xa9\xe2\xa2.*BO\xe3\xf1\x11\ 213 | m\xa1\x02\x8eGaN\xdap/\x1e\x7f\xd3V\xf6\x18\ 214 | \xbc\x97\xf7\xd2\x01\x02\x92\xf8\xe0\x8bZ\xbc\xa5\xa9h\xd7\ 215 | u\xf7\x9dpZ\xc3\x95Qj\xaf\x1c\x93\x99\xf0\xd3q\ 216 | \xca\x0bkXwk\x8c\x13\x16\xfc\x992?\x00\xbdI\ 217 | \x94p\xc6_\xadC\xa4\xa9\xec\x81\xe7n{8\x89)\ 218 | )\xa9\xc7}Q\xcbY\x0d7\x5c\xf0Y\xd5\x96\xdcX\ 219 | \xf8I\xcd]+\xa0\xa0\xe8M\x1ca\xd9OWe\x11\ 220 | \x12\xbc\x8d.4\x5cv\xd4\x009\xfb\x13F\xd2:8\ 221 | \xe7\xf5\xf0eV}\xd7w\xc7/_eec\xfaC\ 222 | \xdf\x12\xae\x8d7\x92\xf2\xc4\xf9\xa9\xfcQ\xfdV\x0d\xfe\ 223 | \xdf\xc7\xfd\x07z\x07JB\xf6lX\xc7\x00\x00\x00\x00\ 224 | IEND\xaeB`\x82\ 225 | \x00\x00\x05\xde\ 226 | \x89\ 227 | PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ 228 | \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ 229 | \x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ 230 | \x01\x00\x9a\x9c\x18\x00\x00\x05\x16iTXtXML\ 231 | :com.adobe.xmp\x00\x00\ 232 | \x00\x00\x00 \ 311 | \xc1c\x14c\x00\x00\x00nIDAT8\ 313 | \x8d\xed\xd3\xb1\x0d\x02A\x0cD\xd1g8h\x80\xc81\ 314 | \xfd\xd0\x06%P\x19\xed\x90:\x22$B\xda%\xe1$\ 315 | \x22th\x09oB\xcb\xffkd\xc9\xd1{7\x92\xcd\ 316 | \x10\xbd\x0aV\xc1\xbf\x04\x13TU ~\x013\xb3A\ 317 | \x8c\xfe\xc2\xdc\xe0\x88\x03\xdaB.p\xcb\xcc\xfb\xf4\x1e\ 318 | \x9cq\xc2\xc3\xf7\xbb\xccu\xf7\xb8\xe0\x1a\xbdwU\xb5\ 319 | \xc3\xf6caI\x9e\x99\xd9^\x0b\x91\x1c\xf8\x81\xbc\xa6\ 320 | \x1b\x00\x00\x00\x00IEND\xaeB`\x82\ 321 | \x00\x00\x06\xb3\ 322 | \x89\ 323 | PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ 324 | \x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\ 325 | \x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ 326 | \x01\x00\x9a\x9c\x18\x00\x00\x05\x16iTXtXML\ 327 | :com.adobe.xmp\x00\x00\ 328 | \x00\x00\x00 \ 407 | \x11\x1e\x14\xc9\x00\x00\x01CIDAT8\ 409 | \x8d}\xd3=J]Q\x14\x05\xe0\xef\x9ag\x1aS\x08\ 410 | \x99C&\x90\x90\xca\xffX\x04$\xc6\x09\x08\x82i\xd2\ 411 | Y\xd8:\x08\xb5L\x11,\x85t)T\x1c\x80S\x10\ 412 | \x07\xf0*\x11!\x11\xf1\xf7Y\xdc\xbdu\xf3\xbc\xba\xe1\ 413 | \x16\xf7\x9c\xbd\xd6Y{\xads\x9a~\xbf/\xaa\x89\xef\ 414 | \xde\xeb\xf5\x06w\xf93R\xc0\x83\x00\x8ft\x80\xb2G\ 415 | \x05'A\x82?`\xe2\x05\x92\xec\x81\x05\xbc\x1b&\x80\ 416 | \xf7\xd8\xc5b\x90\xf4:\xc0\xdb\xd8(*\x9a^9\xf1\ 417 | \x08?\xf0;\x00\x7f1\x8a\x9bh\xde\xc44\xe6p\x99\ 418 | \xc4)5I\xf6\xb0\x82_\xf8^\xc0[\x98\xc5\x0cN\ 419 | \xa3w\xa0\xc8L\x92\x1e\xf6\xb1\x1aJ\xae0\x85/\x98\ 420 | \xc4\x99\xa1\x14\x9a\x12cV\xca\x9e\xc7!N\xf0\x11\xff\ 421 | \xe3\x80\xdb\xda\xdc\xe5v\xca\x9e\xc31\xaeC\x05Of\ 422 | v\x12T\xb7\xb7\xb0\x84\xcfX\xc7\x0e\xbe\x85\xf4:\xf6\ 423 | \xb3\x8bD\xeb\xf6\x8c\xf6N\xfc\xc3\x01\x96\xb5\xc6.\xc6\ 424 | \x08\x19\xfd#[\xcdy:\x08\xceb\x7f\xa05vE\ 425 | k\xec[\xfcQbL\x15_\xf1I\xebx\xba}[\ 426 | d\xef\xe3'\xd60\x1e\xc4MMaL\x1b\xe5e\x90\ 427 | \x0e?\xaa\x1cs \ 517 | \xcf\xff\x06\x13\x00\x00\x01JIDAT8\ 519 | \x8d\x85\xd2=K\x1dQ\x10\x06\xe0g\xaf\xc7\x8fD\xd1\ 520 | *\xa0\x9d\x04\xa2\x88\xbd\x85\x9d\x85\xfa\x0f\xfc\x09\xa9\x02\ 521 | BH\xad\x8d\xa4H\x17\x0b\xc16e\x08\xd8Y\x89\x8d\ 522 | \xbd\x96Vv\xb2\xa8XxU\x22\x8a\xdek\xb1\xb3\xb8\ 523 | \xacw\xf5\x85\xc3af\xce|\x9cw\xde,\xcfs\x15\ 524 | d\x98\xc18\x9e\xc2\xee\x85\x0c78L\x15G\x17\x9f\ 525 | \xb1\x87\xd3(\xd0\x0a\x7f\x1d\x9dx\xfb5Er?\x1e\ 526 | 0\x81{\xcc\xe3\xb1\xa1{\x89\xbf\xf8Rvx\x08\xe7\ 527 | \x11~\xbd\x93\xdc\x8a\xbb\x8b\xc7\x84Y,\x86\xa3\x13\x13\ 528 | \xac6\x8c\xbd\x8b\x93\xb03d\x09?0\x87\x03|\x8c\ 529 | @\xa7\xd6\xf1\x16\x0b\x98\xc6\xb7j\xd5\x84\x0f\xd8\xc6&\ 530 | Fj\xc9\x14\xfc\xb4\xb1\x86\xa9\xfaX\x09wX\xc7\x0a\ 531 | \x06\xbdf=\x8boM\xe3_\xaf\x02C\xf8\x8d-\x8c\ 532 | \xf5\x98 \xe1<&\xf8T+\xdc-\xd7\x98\xe32N\ 533 | \x13\xce\x14k.q\x87V\xb9\x92\xfe\xb8\xfb\xa2`\xf5\ 534 | \x0cDl\x08\xd7\x0a\xc2\xff`\x09W\xa5\x12\xabc5\ 535 | \xc9\xb7\x8c\xdf\xe0\x02\x1b\xd8I\x0a\xd2\xfe\xc7\x83^\x02\ 536 | *Ev\x8ba\x1c+V\x8f\x82\xa0A\x85\x98&\xbd\ 537 | M\xe2T\xe5\xab)\xdeu\x12\xf6\xf1\x1d\xcb^dZ\ 538 | G7\x1a\xfd\x0c\xfb)|\xb2<\xcf3\x8c6$\xd6\ 539 | \xd1\xae;\x9e\x01\xff\x9cL\xb3[\x16\xcc\xc3\x00\x00\x00\ 540 | \x00IEND\xaeB`\x82\ 541 | \x00\x009\x18\ 542 | \x00\ 543 | \x02\x8e\xf2x\x9c\xed]\x07\x5c\x13I\x17\xdf\xd0\xab`\ 544 | 9EE)g?\xfb)z6P\xf1\xc4\xde\xcf\xae\ 545 | x\xf6\xde\x0f\x0fT\xa2\x92\x80\x0d\xf4\x10\xbb\xd8\xb0!\ 546 | R\x95^R(6\xac\x9f\xa8(\x02\xea\x1dvA\x14\ 547 | B\xdb\xfd\xf6m\x12\x0c\x91@\x08\x09!0\xfb\xfb=\ 548 | v\x96\xec\xce\xcc\xfb\xff\xdf\xbcy3\xbb;\x8ba4\ 549 | L\x17\x83\x8d\x86\x99c\xc7\x9bb\xd8A2M\xa7\xf3\ 550 | \x8f;\xe8\xd0\xb0\x9e\xcd0\xcc\xde\x9e\x7f|\xf1\x00\x86\ 551 | \xcd0\xa3avv\xfcc\xb7\xc9\x18\xa6v\x95\x86\xd9\ 552 | \xd8\x08\xce\x1f\x82a\xbbt\xd4\xb0\xee\xdd\x05\xe7\xb7\xc5\ 553 | \xb0\xe0\x91j\x98\xb9\xb9\xe0\xd8\x98\xbc~\x8d\x1afb\ 554 | \x22\xb8\x9e,Zm\x9b\x1afl\xcc?^\xa2A^\ 555 | \xbfK\x0d\xdb9~\xecpC\xbd\x16zdU\x0cG\ 556 | \xd8\xd9N\x84_At\xb4\xc8\xdd\xacu\x17\x17\x91;\ 557 | \xdd5v\xd3\xd7cX\x03.\x08-i\xf5\xc5\x05\x18\ 558 | \xd6t\xec\x08\xdb\xc1\x937\x1d\xff\x98\xf6\xf7\xbe6\x0b\ 559 | O$\xe6|>\xb61\xaf\xf7@\x83~\x8dl4\x5c\ 560 | \xd7E\xdc\xeca\xba\x83k\xe1\xbf\xdd\x22\xc9 #Q\ 561 | \xab\xf3/\xa7\xcf\xd8\x9a_\xc7:\xe9\xa7%\xfb\xeb\xa7\ 562 | \x0d\x8c\xdfe\xfa\xc9\xf72s\xfb\xa9[\x89\x9f\x12\xb7\ 563 | \xdf\x89<\xbd{\x97\xf6\x99\xeb=2h\x1dnZ\xfc\ 564 | \xdc\xc0|\xfd\xb7\xe9\xc3\xff\x8br^\xb0\xf0\xaf\x8d\xe3\ 565 | 6\x8e3\xdb\x18w\xb7\xfd\x993\xc7\xfc|\xfd\x0e\xed\ 566 | \xc4\x07\x16\xc4\xae^\x14\xbbp\x89\xfaL\xd7MC\x13\ 567 | \xd7,\xb8\xb9\xc6\xfe~\xb0\xf3\xfd,\x96\xcb\xbc\xcf\x1a\ 568 | \xd1\x83h1\xad7\xb4\x18\x9ab\x13|\x7f\xe5J\xad\ 569 | \xf7}8\x8b\xb7Zmy\xf6o\x12w\xe5\xe2\xde\xe7\ 570 | \x07&'\x0e\xb9?\xa3\x9d\xbaI\xfe\xffn70]8\x9a\xd1\ 583 | h\xec\xe4M\x17\x9f8,O\xc1\xde\x5ct\x9a4c\ 584 | T\x13\xad\xad\x0c\xed\x8c\xe6\xc1'\xb2\x1bd\xb4j:\ 585 | h`\x8f\xeb\xaf4y3z\xb2\x1f\xf7\x0fXy'\ 586 | s\xc8CM\xd6\x1b\xe3\x0b\xa9\xf4Q\xc1\xb4\xc5-\xec\ 587 | \xc6\xfc\xb2\xc8#\x90\xf0\xb2\x5c\x11\xa17\xfb]\xc7~\ 588 | \xe1\xb6\xce\xae\x0d\xf5\x9bl\x1b\xf2\xb6!\x9d\xe6\xd9\xdb\ 589 | \xd4\x8bqv\x05k\xef\xcf}\xb2\xbbxf\xacO\xdb\ 590 | \xf2|*\xc1\xbc\xeb\xdfQ\xcd~\x83\xfa\xa53w\xff\ 591 | n\xce\xdb\xd4\xb4\xc1I+f>\xdd \xd3z\xd3\x99\ 592 | \x1e\x1f\x1b\x1f\xf1\x9c\xf7\x8e\xa51\xcf\xe3\x14\xf6\xda\x8d\ 593 | c\xfe\xe8\xe3Z\xab\x83!\xed\xb5\xff\xee\xb9\x987\x99\ 594 | \xf3\xea}\xda\xe3\x89K&{\xfelhH\xbfo\xd8\ 595 | f\xd7 \xb3\xd1E_76\xcf\xf38\xe9\x86\x0f\xfe\ 596 | \xb5\xd7\x08\xdb\x9d\x9dmz\x99&7\xca3X\xe7\xb2\ 597 | \xcd\xdeb\xfe\xa6\xf5Z\xab\xba\xf1\x8a\xb9y\x83\x99\x8d\ 598 | [\x87\xe5\x7f\x9d\xb0b\xf2\xa4\x96Vs\x07Y\xc5\x1f\ 599 | \xe9x\xb2\xbd\x93\xe1\xdc\xd1\xc3\x12V\xeb$\x9d\x8e\xb1\ 600 | i\xd6i\xeb\xd2-#8q\xff\xce\xe1\xc4}|\x10\ 601 | \xd8{\xe1\x93\xb8\xc7\xd9\x09\x1bX\x01I\xcc\xdfB\xf6\ 602 | '_\xbe\xdc\x8akzT\x877\xba\xfd\xf1\x16\x1e\x99\ 603 | g9\xe3\xce\xae\x8d\xb9\xda~\xe8\x93\x9f\xafc\x7f\xdb\ 604 | \xab\x05\xee\xb32=\x1e\xba\xc2\xb4\xd5\xeb\xd83\xf3J\ 605 | \xbel\xf5\xf6]\x1c\xf2\xae)\xf63\xd7g\xcf\xbfG\ 606 | \x1b\x8c\x8a[|\x1d{HL\x98\xcc{\xa96\x94\x97\ 607 | \xef\xdd\xce\xb4\xc5h\xb5\xa6\x91\x06\x17\xb4\x02\x97np\ 608 | \xb3X\x1e\x1et!`P\xae\xfa\xc6\xe6j+\xcc^\ 609 | v\xb9D\x1f\x1e\x99\xe1\xe811g\xb1N\xd4\xb0\xe9\ 610 | \x93\x8b_z\xbf\xc9x\x19\ 633 | \x09\x09\x017\x06\xedO\xb5\x9b\xd8Z\xedEOnV\ 634 | X\xd7\xb5c\xed\xef\xd3\xb2\xb3\x06\x8f\x9d\xa3\xe50\xfa\ 635 | }\xdee\xde\xb0e\xcb\x1du\xda8f\xba[\x1b\xad\ 636 | \xfb\xf2\xa7C\xd8E\xec\xf0s\x96\xc5\xad\xcc\xd6w\xf7\ 637 | im\xc8\xf2\xb6\x1b8\xcc\xc1D\xcd\xdb\x22\xc6\xf4\xd3\ 638 | \xf4\x0f\x1b\xd5\xf4\x1b\xd0\xef\xcf;\x98\xb9~\xdcf\xdf\ 639 | \x80\xc6{\x0b\x86\xbd\xeb2\xe3\xc8\x81\xec&\x16\x83\xf2\ 640 | \xddW\xd9?\x1d\xe2\x10\x92\x81\x05\xd2\xc2\x16\x1b\xb8\xd2\ 641 | &9|\xd9iW\xb2\xd0-\xa0\xf1u\x93\x06\xd7\x06\ 642 | \x85u\xdb\xd0L_\x8f~b\xc7\xac\xe6s_\x5c\x1e\ 643 | \xd6fX\x8b\x80\x1d\xe1\xda/V\xf6u\xc82\x9f\xda\ 644 | \xf5\xf5\xc7\xdc\x06\xf4\x8fCM\x9fj\xb6|\xe9\xb0\xb1\ 645 | \xeb\xeb\xf9\xb6>\x8b\xfa\xed\xfc%B\xdf\x8a4\x86\xeb\ 646 | \x05\xb1\x1b\xe7\xd0\xba\xf7\x1c\xddiy\xc4\xaf\xb17\x03\ 647 | \x96\xc7~n\xb2\xffhn\x87\x93Mn/\xe8\xec\xe0\ 648 | npw\xf5\xa2Us\x16\xaeP\xf3\xbfa\xf2B\xcf\ 649 | ev\x83d\xde\xee^\x87\xda\xe4\xec\x1b0\x7f\xd3\xe5\ 650 | \xa0Y\xbf\x9e\x0c\xfbh\x85\x85\x1a\xae\x9d\xe6z\xdaL\ 651 | \xe7\xf3\xf4\x14\x9f\x93v\xebo\x1aw\xeb\xf4\x80V\xf2\ 652 | \xccu\xa4\xe7\xb7\xf5OVb>\x9d\xc3\x12om\xda\ 653 | x\xba\xa8`\xd8Q\xafy\xcb:`G|\xfeMI\ 654 | \x8bYx\x073i\xf9\xd2\xaf+w)\xeb\xea\x86\x86\ 655 | \xfb\xdbMI\x19\xf5\xb9\xe7q+\xab\xdb\xc7\xd3\x0b\x06\ 656 | ,\xc7\xf6\x18x\xda\xcdX\xa5v\xfe\x8fN\x0d\xf7\xff\ 657 | 75\xf4\xcb\x1f=3\xce\xef\xcf|j\x94\x16\xa2E\ 658 | 7[3/uM\xf7S\x1b\x8bmg\x8c\xb8\xfa\xb2\ 659 | {f~\x03\x1e\xad\xd9\x9d\xbc\x07\xbbh\xdd\xfb\x8d\xf6\ 660 | U\xf7\xdf\xedp~\xa7\xf5\xfe\x94\x89y\xb3[\xb6Z\ 661 | \x93\xf6\x86y\xf3\x82\xe6/Z\xf4\xd5\x11\xe6+\xfb\x9a\ 662 | ;\x86\xb9\xe3\x96]\xce\xafx\xe2me:\xfe\xeb/\ 663 | \xe9V\xb3z`=\x0f\x8e\x8b\xef?\xe2\xb1\xcf\xdf\x96\ 664 | \x13\x97/\x9c{\xed\xd06\x8f)\x8e7\xba\x92\x99\xc5\ 665 | /m\xce=F\xdb[2l\xc6\xf4\xa7\xb3lR\xd6\ 666 | \xf0\xdet\xbfpg3\xf9\x93\xfd\xca\xa5\xec\xc1\xf0\xff\ 667 | \xb9\xd3\x0d\xb5i\xcd\xeenvL\x1d\x16\xf3\x8a\xfb\xc1\ 668 | \xeb\xdaq\x9a\x8b\x83\xc9\xb5\xf7\xf7\x9d?\x87q_\x5c\ 669 | \x18\x9d\x1eZ\xe0\x14\xf8\xef6f\xaf\xe1>\x8b\xce\xcc\ 670 | \xdb\xdc:\xd2pyR\x9f\xc0\xe0\xdc\x19svz{\ 671 | 7\xc5\x12\xe8\xb9{;&7\x0d\xcd%\xcf\x9f\x94\xf1\ 672 | d\xdc\xd8\xf4\xff\xb2\x9a`\x0f\xbcG\xce\x1d\xb1\xca|\ 673 | \xf6\xd7\x08,\xbc\xad\xe3\xb2Tcs\xdd\xac\x84\x99\x1b\ 674 | \xb9\x1evNv\x8d\xa6:\xfe\xf3v\xb1\xfaK0C\ 675 | \xdatn\x10}\x11>,u\xcc\xa5\xf3!\xcc\xf9\xa1\ 676 | \x86^cs&5\xc5t\xfb>\xb3=\xbbU\x93n\ 677 | \xe7\xd4\xf1\xd1U\x9a'}\xfd\x99\xe49O\xbb-N\ 678 | \x9c\xb9\xe1!\x99\xc3\x08\xe3\xa9N\x9c\x83\xcb\x06\xa6\xf6\ 679 | \xea7z\xb8\xb6\x1f\xed*'\xc0.\xaa\xd3\xa3\xbfR\ 680 | \x02\x17\xad\x18\xba\xe9\x84\xfda\xdd\x83\x9e\x03&E.\ 681 | \xb0\xa1\x99\x93\xf5\xb8\xf6qp\xe2\x8c\xb1\x9dJ\x1ah\ 682 | \xbdh\x1ag\x17BX~\xbc\xe4\x17\xba\xd7\xd0\xa9\xb8\ 683 | 5\xfd\xdaq\xcc\xe5\x95\xcb_1\xbc\xe1\xf1\x1b\x99\x9b\ 684 | \xb6\xde=\xa8m\x93\xb8F\xe3\xd4\x0d\xeb\xfd\x7fM\xf5\ 685 | \xcd\xb9\xf8_\xcc\x95\x1d\x1f\xbc\x5c\xbc\xe8\x91\xe4E]\ 686 | \x9b\x13\xd3\x226\xba\xc5Do\xd8\xf0U\xfb\xca\xb7n\ 687 | \x0f>\xdd\x5c6`~_\xce\xa8\xe6/LV\xdf7\ 688 | \xb6\xf1\x89\xf1z\xb4)u\xcd\xbe\xac\x99y\xbb\xc3\x96\ 689 | \xa8\x8d\xf7\x89\xf9;~\xe3\xa0\x19\x0b\x9c\x03L\xd6d\ 690 | \xdcno\xeb\xb3\xd7\xeb\xdd\x00\x9a\xf6&]\xee\x1cz\ 691 | \x22a\xe9\xef\xd6U\xd7\xca\xefk\xa3\xc0\xf6\xa7\xce\xc6\ 692 | \xb9\xfdr\xde\x11sr\xd4\x9d6!v\x82m\xea\xf3\ 693 | \xc9\x98_v\xf4\x9bg\xf1M0\xcbU\x1d\x1eEj\ 694 | \xcfn}\xfe*\xef\x90\x9aM\xbc\xe1\xb9\x19}\x98{\ 695 | \xb2\xde\xe2\xd6\x0d\xdb7\xb7[\xfain\xfc\xbcd\xa7\ 696 | o\xce\xe7\xceE]\x0e\xfd\xacW\x94\x96\x7fb\xdf\xc5\ 697 | \xfb\x13\xaf\xcfX\xb79\xb3A\x09\xf6\xe1\xef\xf8Os\ 698 | \x1f\xeb\xe1\xd9+7\xe5<\xdb\xbbj\xd8\xb01\xa6\xd8\ 699 | \x85\x0f\x91\x1b\x1c\xba|,\xf2\xcf\x9e\xa0\x0f\xa7\xe5\xf5\ 700 | Wo\xb0y\xf5\xd9\x99\x13ZE\xac\x1c\xd3\x12k\xa1\ 701 | \xe6\xd6w4\xcd\xfcewM\xba\x1b\xf7\xa8C\x83\x8c\ 702 | sf,\xeeI\xbf\xe4\xd8\xfcA\x9ay\xbf-,\x0c\ 703 | MNgX?Zr|\xce\xe5\x92\xd0\x90f\xb1\x9a\ 704 | g\x8f\xb5L\xdb\xf5nS\xc1\xe9\xdf\xc3\xec\xff \xb3\ 705 | \xb760\xbb\xb6\xc6\xe0'\xb5\x0c\xa7\xc0\xb7\x89\xa9\x9b\ 706 | \xbd;?\x7f\x18\xd6'Rs\xec=c\x9b\xf8yz\ 707 | XC\xd7\x8e\x98\xad\xe9y\xccx\xeda59\xfd#\ 708 | 9\xaa\xd3\x9a.1_w\xcc>d\xfa\xf8A\xdaK\ 709 | \xf3\xe1\xea\xa7\x98\xa3\xdcw_56\xa4\xc9\xb9\xa4\xea\ 710 | \xfe#bC\xef\xa6\xacQ\xdbF\xf4\x8e\xfcm\xa2\x91\ 711 | \xb5\xa3V\xeb\xf4\x01[\x9e\xed/\xe2\xdc\xd0&C\xa8\ 712 | \x89sC\xb1\xc1\x16\xc5i6&\x98\xe5\xcb\xd6e\xea\ 713 | ~c\xd4T\xd7\xb8%\x8d\xee\xb5\xf2jG3\xea\xc7\ 714 | \xb3w\xef\xb7n\xca\xfc\x16m6N\xe9\x5c\xc8\x8b5\ 715 | \xb2\xf927\xe5`\xe8\xa2m\xee\xcck#\xde\xbd\xb9\ 716 | I\xa4\xf6\xc6\xfe\xb8\xd2\xef\xe8\xb7\xf7\x01\xcbF\xef\xf0\ 717 | \xf1\xd7cX&\xfc\xd9\x10\xe0_Z\x1b0\xa8\xf0\x1f\ 718 | )\xa9\xb4\xc0\xfc\x8e{K\x8a_\xf4\x19\xfcx\xd0\xde\ 719 | \x95;\xae7\xba\xba\x0a3\x1d\x88\xbd\xff\xe4\xfaj\xd5\ 720 | \x92\xdbY\xf9\xad5\xdeo\xc5\x96\xc7\x05\x18\xef;\xf8\ 721 | \xe8(m\xcdW\xd6\xe4\xccC\xc4\x9cn1\xda\x8c\xcc\ 722 | \x87\xd7\x8c:[O\xb30\xefr\xf9\x9b\x9a\xfd\x14\xc2\ 723 | _\xd3\xf9+f\xea\xb4e\xcb\xa0\xb8h\xde\xcfz\xb4\ 724 | \xa5\x13\xae4\xc3.\xf9\xdf|\xe6\x11\xe1\x9fg1\xfe\ 725 | \x12\xef\xe7\x9d\xbd6]J\xdd\x1ak\xe7\xd5\xb6e\x1a\ 726 | ]\xd3\xe9b\xb7\xe2\x88w\xa9\xb3O\xf6\xff/2;\ 727 | \x8b\xeb<\xb7\xe4\xee\x89\xcb\xbc\xe1\xde\xae\xab\xa3\x7f.\ 728 | \xee8%\xe7\xc9|\x8f\xe0\xb7A\xc3[\xa6\xed\xf1\xed\ 729 | \xbb\xec\xd1}\xbf\x19\x1b7\x9c=6a\xc2{M\xec\ 730 | \xc0\x10\x16\xcbw\xf9_[\xfc\x9bZ\x9cz\x19\x105\ 731 | \xc6c\xe0\xcdCq\xc5\xe7~\xefs\xb6S\xd7\xed\xe7\ 732 | \x0d\xe9)-\xd5l[G6m\x1d\x15\xf4e\xfd#\ 733 | \xd3\x06\x17y\xe7\xf6^[\x85\xd9|\x1cj\x93\xd0m\ 734 | \xa5\xff5ulY3\xb5N[\xd7\xda,\xbfC\xbb\ 735 | \xfdu\xfc\xd2!\x813\xd6\xab\xc5h'o\x9d1.\ 736 | an3WSG\x93\xf7)'\x1e\xbeY49\xc1\ 737 | \xc2\xb5u\xca\x9bv\xb7}\x07\xaaa\xbe\xcd\xd4&\xe4\ 738 | 8|\x8ez\xbf\xbe\x13\x1e\xf9[N\xbcg_RZ\ 739 | \xa4\xed\x09}\x5c8\x94\xbenT+\xb2\x94\x84\x1e\x1f\ 740 | \x7f\xc2\x02y\xc6\xe3sv\xefH\xed\x86\xd9g\x92\xb5\ 741 | k6\xfc\xdab\x8cU\x0c%7X~r\x04k\xe4\ 742 | _}z\x1c\x9eM+\x0a\x98\x94\xb3;$\xb5?f\ 743 | \xff\xc9x\xd3\xads^\xe9g\xc93\xaf~6>\xf5\ 744 | |\x16w\xdb\x112\x003\xee\xa3\x86\xfdG\xd5rO\ 745 | \x7f\x1a\x96\xfdu\xea\xa9\xee\xfd\x8ar\xef\xae\x9e\x9c\xb3\ 746 | {\xd2s]\xfa\x92P\xebG\x03\x8b\x96\xbf(\xbc_\ 747 | x\xa5s\x9b\x07\x1a\xcfu\xe8\x11c\xbf%O\xf6\xf0\ 748 | b\xd8\x1e\xb5-\xd2f\xcdJ8\x99>\xbd`\xa0\x1e\ 749 | m\xad\xad\x93\xb6\xcd\xe7c\xff\xc5^\xcf\xb2v\xbfx\ 750 | \xf7\x8c\xa5\xe5\x18\xdf-\xea\xa7\xf2\xc7\x04\xe6\xe1is\ 751 | _O\x0a\x80+\xf65\xb39}\x7f\xef\xc5\xc8\x82\xa6\ 752 | \xce\xb6\x16\xe6c\x830\x93\x99\x81\xad\x0f\xcez\x1a\x9a\ 753 | \x12v\xef\xa5G\x07\x8d\xf8\x1es\xf6\x85\xcd\xc1\xe6\xdb\ 754 | 8i\xb0\xfe\xdcm}\xc6\xd8X\xfb\xc9\xc4+Nl\ 755 | \x9f\xcf\x05\x81\xbd\x9f\xa7\xb2\x9aN\xe1N\x84\x7f\xef\xb3\ 756 | Z\xf8b~\xcf\ 784 | \xbd\x8f\xf6n\x9d\x8c\xa2y\xd8\x82\xf6s7\xfd\xe7\x92\ 785 | ?+\xd0\xf0fS\x8d\x9cy?\x1b{\xeb\xad`\xdc\ 786 | \xb0ix$\xcc\x5c\xe7\xbc?\xd6\x86\x97\xbf\xc4\xe9o\ 787 | \xec\xf9\xf2\xb3\x1dY\x9bc\x8e\xb5\xb7\xbc\xd6\xa4UI\ 788 | \x10\xcd\xdb\x1aO^\xe2d\x8a9\x19d?\xf7\xf9w\ 789 | \x1et\xfe\x8b6[\x7fHY\xbc\xbe\xdb\x8a91\xab\ 790 | J\xce\xde\xcf[\xba\x5c\xad\xa9\xc5\x87\x16\x1a\x99\xcen\ 791 | v\xef\x7f\xf9\x8c;\xb1_\x7f\xfc\xf7\xee\x18}\xbaO\ 792 | R\x9a\xd5Q\xad\x15\x1e3\x83\x86\x1d\x9f\xda\x999|\ 793 | }\xe3\xd7+9fq!\xc5\x11Ki\xf7\x9e&\x1d\ 794 | \xecq+\x8c\xde]\xebh\xc9\x19\xf3\x86G<\xafY\ 795 | \xb5&\x1cF\x0f\xc8e\xad}\xef\xcf\x9b]\x90\x1b\xd5\ 796 | Y\x7f\x95\xc1I\xa3\xf4\x9d\x8e4\xcb.][\x14\xa9\ 797 | \x9bt\x8b\xb8\xa5\xf7K\x94\x86\x8d\x835q(d\x80\ 798 | .\xab\xcd;M\xb7\xab\x1d\x96wa\x0cyRr\xf7\ 799 | \xb5\xd5\xea\xdf\xf0=Fi\xbds{\xff\x14g\xd2\x86\ 800 | \x1c\xd5\x85ko\xf8\xdd\xc6g\x98\x97Y\xc9\xc3\x82.\ 801 | ?\x05L\x0d0\xc1t\xb9\x8fs\x0ffa\x87mb\ 802 | \xb0\xfdM\xe7_97\xfeh\xf1\xa8fs\xd2&\xd8\ 803 | },x:2\xe0\xb2\x09\x96\xb6\xa5I\xbb\x0c\xe6\x9a\ 804 | qK\xba\xda\xf8$\xf0b\xcd\xcc\xc2\x1fzv[\xd5\ 805 | 7\xf3\xab~\xfbN1\xabR>k\x8d6\xf9t{\ 806 | \xe6V}\xf8\x9dq\xc0\x03r\x0e(\xb84p\xd5\x91\ 807 | \x8f\xd7B\xb4l\xc6Yo\xbd\x9f\x9d\xb3\xc6\xc3e(\ 808 | \xad\xe1R\xc7\x099\xea\x0b\xday\xc78&\xbfmv\ 809 | \xa7\x9fg\x9f\xac0u\x87o!ko\xaf33n\ 810 | \xa0\xbe\xc1s\x9f\xdd$\xfd\xed\xe6\xde\xc5\xefM\x9c\x17\ 811 | =\x5c\x9bU\x9c6\xf5?\xc7\x92Uq\xad\xa3\x97L\ 812 | 3\xb3\x0d\xc1\xe6/\xe9`\xfe\xc0\xc7\xef\xda\xeb\xdcL\ 813 | Ft\xbb\xebO]N\x84\xafp\xf8\xfct%F\x0e\ 814 | \xb6/\xe9\x9ahqZ\xd3\xdbi\x0c;:1\xe8M\ 815 | \xd2\xe3b\x87\xb1\x83\x08\xc6\xa3\xc5\xb3\x0b3>\xbd\x08\ 816 | y\x86a\x81L\xc3\xdfnu\xdb\xb6\xa6\xabM\x1f\xbd\ 817 | \x9d\xbd\xbc\xccu^.\xc7\x1fF\x1c\xc2M6\xbd\xf5\ 818 | H\xce\xda\x92\xabG\xf7\x1e\xa4\xf7\x1b\x97\xb1\xadKK\ 819 | \xbd\xab\x1c\x07\x1d\xb7\xbe\xe6\x1f\x0a]s7\xb7\xbb\xfe\ 820 | lC\xce\xb5\xfc+\xbf\x95pr\x0a\xa2\x1d\xe6\xd0\xb0\ 821 | {\xcf\xee\xbe\x9a\x7fO\xdb%\xc1: m\xb7\xdd\x95\ 822 | \x7fs\x19<}\xeb\xa8v[\x9dr\xdf\x85\x0cZG\ 823 | lN\xef\xff\x19\xc3\xa6Y\xb1\x92\xcf\x1e$\xb48Q\ 824 | \x9a\x1b\x97\x8d\xf79\xad\xc7\xf83\xfa\xc9\xe2\xac'\x01\ 825 | f\xd77~ v2\xa2\x9d\x07\xd30\xfb\x01\x83\xf6\ 826 | \x85\x0c0ti\xa6\xb3t\xe2x\x1f\x8b]\x09/\xff\ 827 | \x17nM|iz\xecM\xe1e\xcf\xf4o\xde\x9a'\ 828 | .\xcc\x5c\x83m\xc8\x0fj\xec\xb1~\xf3\xad?\xccM\ 829 | \xf5\x96\xb4\x9d\xb7?\xf2\xcb\x16\xeb\xd8\x8c\xf6\x99\x1e\xaf\ 830 | \x076>\x1e\xf3\xdf\xd7\xfc\x98\xe8{%\x9d\xfbbX\ 831 | \xf0\x96\x011\xad\xee\x18\xaex;\x87\xddc\xc3\x22\x1b\ 832 | \x9f\xb1\x9b\xd3\xbb\xf5O?\x196\xbb\x7f\x9f\x13\x0e\x9c\ 833 | (\xa2\xf0t\xc2\x87\xe5\x13H\xb7\x1aI\xdb\x1a\xae\xfe\ 834 | b5;I\xedl\x07\x0d\xdbe\x9du\xb6\x87\xf3\x82\ 835 | \x06\xa5\xcd\x8f\x0b\x7f\xf7$?/=\xe4II\x97~\ 836 | \x18\xf6\x87\xc1\x9a\xfc\xb1\xb7\xda6Uc\xd0\xedVj\ 837 | \x0e\xb6\xe9:5\xd2/]k\x83\x07\xfe\xd2\xccc\xa6\ 838 | \xc3\xbfWF=\xcd\xfaG\x0d\xb3/\xc0\xe6\xb6\x08\x9a\ 839 | \xb5\x90\x9dhq\xea7\xda~\xdf/[\xe2\xfcx]\ 840 | \xc8\xbc\x22\x97~\x8b\xbce\x1d\xf1\xbf\x92\xae\xbfa\x98\ 841 | \xa3v\xf8\xca\xf8uO\xaff\xd2\xef4p\x9b<,\ 842 | h\xda\xf1\xa7\x1f\xcd\xe6\xc4\xe4=\xd0<\xf1\xe9\xd8\x98\ 843 | )j\xd8)\x07\xfa\xdd\x8f\x81\xd1\xddbg\xac1\x9d\ 844 | \xdd\xde<\xd8\x961\xa4\x87\xf7\xc7>\x83_\xe4\xedY\ 845 | \x11\xb9\xec[\xea\xad\xc2\xcb\xd7\x08_M\x8c\xd5Z\xfd\ 846 | y\x8c\xe1\x8bV'-\x8f\xb7\xf9`\xf8&x\xde~\ 847 | \xcd\xa0\x94\x7fn\xfd\xfb*\xb7X\xd7\xd9'pE\xd6\ 848 | \xd0\xac\xd6\x0ey^!]?\x05\x99L1\xc4t\xee\ 849 | 6h20%\xbe\x99\xfeO\xf4\x86\xbd~\xeb\xd0s\ 850 | \x5c\xe6\x82\xb9]c9\xddN8\xff=\xaa\x93\xc9\xc0\ 851 | \xb7\x87\xd7\x17}\xba\x92\xb7x\xca@@\xaf\xf8\xfc\x9b\ 852 | \xb5\xb36?]cc\xa26c\xc6\xe8\x05\x7f\xdc\x9f\ 853 | 8'b\xd6\xa0\xd8\xd0\xb8\xf5\x1f\xa6\x1a\xb5\xd9\xbe\xf3\ 854 | \xe7fN\xde\xce\x0e\xcb\x1aad\x93\xd8\xf3\xd5 \xfb\ 855 | \xc5\x89\x83\xbf\xa8\xddjc|Gw\xcf)\xb2;Y\ 856 | \xe466g\xd8\xec\xad\xdd\xae?\xf5\xbf?\xb7x\xd2\ 857 | \xe9\xf9\x84g\xb3\xf5\x8c\xf4\xcdm\x97_{e\xf7\x19\ 858 | \x0b[i\xf6\xb2h\xfa\xad\xc7=\x99\xdc\x9cm'l\ 859 | \xb4\xde`\xa3\xaf\xcc4\x7f\x10}\xe6,~\xb5w\xf1\ 860 | \xfan+\xc76\x9b\x1be\xff-u\x94\xf3\xe4\xf7w\ 861 | \x03\xa6\x1b\x9dz\xfee\xeb\xd6\xe9\xddM\x7f\xd5\x22\x8c\ 862 | \xbbu;\xa8\xfe\xd7\xa9y\xdb\xfa\xde\x981*h\xda\ 863 | \x82u=\x9b5\x8b\xd3]\x17\xba\xbc\xb8\xcf\x5c;\x0d\ 864 | O\xed\x80A\xef\x7f\xee\xddm\xeb\xc5\xa1F\xe6\x0f\x1e\ 865 | \x8e\xa3\x85o}fN\x1c\xd9\xfe,\xd2\xe0B\xe2e\ 866 | \xc3q\x8d\xf2\xb4\x1e\x5c\x1cn\xbe\xb2Kq\xf0\xd8\x93\ 867 | \x7f\x06\x99x\xe4\xd2\xfa%\x9e\xfc{@\xc3=\xb3#\ 868 | \x1d?\x0ew\x88\xda3\xb5\xf7\xa3.\x98%\xe9\xcd\x9a\ 869 | \xacI}b\xbc\xb8m\x97>\xe7\x0c\xb5\xe7\x1f\x89\x5c\ 870 | e>\xaa\xef\x80\xf1\xc6v-w\xea\xc5\x8d\xef<\xf6\ 871 | }\xce\xf9\xdc\x99sn\x8d\x1d\xe0\xf0-(k\xd6\xc0\ 872 | \xacw1\xd7&\x1e\xb2\xb0i;\xbbd\xc5m\xa7\xe2\ 873 | \x84\x06\xb7\x124o\xe9\xb3\xfe\x97o\xf4\xc1\xc6\xc1d\ 874 | \xe4L\x9d\xd5/n\xfc\xfa\xdb\x11\xfdno:\xfe\xe4\ 875 | \xec\x9b\xfd\xee\xce\xa7\xfb\xed\xb5\x068o>\xf9\xfbO\ 876 | \xd6\xbdNi\x8f\xf7\xbf\xe0a\x99}n\xbf\xc5'\x13\ 877 | }\xde1\xbfL_\xbf\xccl\xde\xa8\x11\xb9.\x0d\xbd\ 878 | \xba\x0eld\xb8\xc2\xef\xfa\x00\xc6\xf2\x5c\xd7\xf7\xb93\ 879 | \xfbo\xd9\xfe\x8bg\xd1\xab\xcb\x978\x07\x8f\xed\xba\xf1\ 880 | \x13\x11\xed\xf8q\xa1a\xdc\x1f\xa1\xa7i\xc6\x1d\x93\x8d\ 881 | 6\xff\xc4{w\x1df\xc8vG\x0dLia\xd7\xd8\ 882 | \xf8N\xc3\xd1\x8d\x98\x83}\xbf\xda\x9d\x99\xb7\xbd\x97\xe6\ 883 | \xf2.\x83\x8d\xe3\x19\xd6!o\xf6vI\xfd\xc0\xfb\xd5\ 884 | \xfaW\xef\xfc\x80\x82\xdb\xb1\x0e'x\xde\xb9G\x17\xa5\ 885 | FuT;5k\x9cu>-\x7f\xafQH\xb0\xc9\ 886 | \x9a\xc1\x8d\xee\xdcm\xe1\xde\xc3^G\xe7nk\xdb>\ 887 | -\xda\x8e\xf4h3\xafo\x1b\x9d\xa1\x83\xd9\xe6\xbd\x1b\ 888 | 5\x8dJH\xa5\x9b\x07jX\xb1\xb4~z\xf7tF\ 889 | pDV\x1f\xd2\xaf\xb7\xd2u.Nw\x9f\xe9\x900\ 890 | \xe9\xdb\xea\x8f\x9fz\xcf\xc6l\xfb\x15m\xd2\x0c\xd7\x0c\ 891 | _\xf8\xcc\x5c\xbbM\xc6q\x8d\xe3Gz\xfb\xe5p\x96\ 892 | r\xb2\xb7[\x9a\x1d.H^<\xe7\xed\xbcE\x034\ 893 | \xb0\x99\x99\x7f}\xfc\xd2\xf6|\x9b\xceo\xb2mV\x05\ 894 | Yu.>2<\xef\xc8\xe8}!O\x9f\x9bm]\ 895 | \xec\xe7\x1c\x965n\xc5,\xb2{\x1d\xbe,=\xe5\xdc\ 896 | \xd2T\xacCX\x12v\x97\xd6G\xbd\x8fG\x83\x87;\ 897 | \x17\x1a\x1e|\xb5\xcd\xb3\xe7\x9a\xc9\x0f\xb2\x0b\x97\xae\xd6\ 898 | \xb9gh\xb7\xfep\x17\xec\xcc\xe5{\x0b\xb6NLX\ 899 | \xc9\x98\x8c{-V\xf3,<\xe9\x92l\xfd\xd6\xa9U\ 900 | \xcb\xc7\xc7s\xd8W\xf6\xaez<\xe4\xaa-v\xe0\xfd\ 901 | \xa7\xf9\xa6\xbcUoi\xac\x94\xc1y#[\xba\xdb5\ 902 | \x7f\xf1ff\xde/Z\xa6\x87\xbb\x7f\xf0ty\xfc\xf7\ 903 | \xbd\xf7\x83/\xf4X0F\x1f'F\x964\x9f\x19H\ 904 | \x06@\xde\xc9\x05\xba\xce\x96\x8b\xb7\xef\xfc\xd8\xeez\x09\ 905 | [#b\xf8\xae\xa7[\xe6\x8eh\x1a\x1a\xbbb\xd7|\ 906 | #\xbfAE\xbb.\xc0\xack\xa1\xb3\xd9]\xfb\xdf'\ 907 | \xbf\x1c\xf9\x10\xe6\xc7G\x0c\x1bk\xeb?\xc4~{\x07\ 908 | \x98\x1f\xe7O\x98Ss\xd6\xd4\xa6C\xc3jlc\xe4\ 909 | 7&e\x0c\xc6(\xa0c\x8c\x22?\xcc\xa5\xe06\xe6\ 910 | R\x94\x85\xb9\x94\xe4a\x0c\x1c\xc7\x18\x04\xa1T\x99\x13\ 911 | J\x90\xb5\xa4d\xb7\x9b+\xc1\x8d\x8dQ\xaa\xb0cb\ 912 | \xf0\xa8\xe8\xb8\x92\x90H\xf6\xb7\xcb\xe1\x9cG\xe4>,\ 913 | \x82\xe3v9\x9c;\xd57\x9ckZs\xc4Uc\ 914 | c\xe4[\x90\xe2Hr}\x8b\xe4\xb8\x04c\x928\xef\ 915 | $e\x0f)\xee\xa4\xec#e\x7f-\x91%a\xa5\xfc\ 916 | \xef\xdb\xbb\x87\xb8\x11\xcfU\xaa\x5c\x17\x0a\x97C$q\ 917 | \xd8D\x22\x9bE\xc4\xb3\xe2Jm\x83\xb4\x85\x14\xd2\x16\ 918 | \x18\xe7B\xe3\x7fQ6\xcde6\x06\x8f\x861\xf2F\ 919 | \x93\x9cGQ\x9c\xbb\x92\xd8\xee%\xe5\x1fR\xbcH9\ 920 | XKe\xc5w\xfe\xff\xf1p'n%%\xd6J\xb9\ 921 | \x99\x98@\xdcH\x88'\x12I\x9b\x88\x8f\x8b%8|\ 922 | [\xb8~)<~\x9a\x7f\x04GM\xb9\xdc\xe7\x8d\xc4\ 923 | \x5c\x0a\xefS\xfet\xb7\x80se\xf3Z\xc7\xf8\x17\x17\ 924 | \xca\x16H\xdf\x00~!8\x82\x9dz64a\x8a\x12\ 925 | x7\xc7\x5cx\xa1\x14\xef\xe0\xdb\x0f\xd4\x02>\xeb\x09\ 926 | \xff\xa2~Ah\x07~\xe1\x1c6\xe9\x0f:\xd4\x10\xf7\ 927 | \x0b\xc8\x18.\x97\xea\xd7=k\x01\x8f\xf5\x94\x7fQ\x7f\ 928 | \x00qBtt,\xefBX\xfcZ\x85\xf1\xce,\xd0\ 929 | %c;\x1f\xaa\xcdC,W\x9b\xfb\xf6z\xc4\xbf\xd0\ 930 | \x17$\x91q#\xf8\x02\xdf0n`p$\xc7P\xbe\ 931 | \xdc\xe77%\xe3\xbb\x1bTl\xa7J}|=\xe1\xbf\ 932 | \x8c/ cD2>\xbc\xef'\xaf1#3\xbf%\ 933 | 9n\x7f\x8a\xb9\x11\xaa\xd9\xcf\xd7#\xfe\x85\xbe\x00l\ 934 | 4\x92\x95q%\x82kYM\xee\xc9v_\xf4\x98\ 935 | \xe2^\xd5\xfd}=\xe1\xbf\xd4\x06\xc8\x98\x80\xb4\x81t\ 936 | \xbf\x08\x19\xfd\x00\xb3@\x8f\xf2\xf9u\x91\xfb:\xce\xbf\ 937 | \xa8\x1f\xf0\x0f\xe7<\x90)\x1e\x80X\x0f\xfa\xfb\xba\xe4\ 938 | \xf3\xeb\x11\xff\xa26\xe0\x1b\xce\x0d\xac\x22\xf7\x8b\xa88\ 939 | \xbf\xae\xc4z\xf5\x94\x7f\x10\x88\x09a\x5cp1,~\ 940 | \x9dT\xdc3\xf3-\xa8\xf1\xbd{-\xe0\x08\xf1/\x17\ 941 | \x81\xb1!\xcc\x0f\xf8J3G\x04\xf3z0\xb7S\x17\ 942 | \xfb\xfcz\xca\xbf0\x1e\x84y\xc2\x8a\xfd~\xdeH\xca\ 943 | \xef\xab\xf2\xbc\x1e\xe2\xbf\x5c\x11\xf6\x03\x12\xef\x17\xc0}\ 944 | <\x97\xc2\xbb\xd4|\xbe\xb2\xb9A\xfc+D\xe0~A\ 945 | P\x04\xfbi@y\xf7\x0d\xa9g5\x88\xba\x1b\xef#\ 946 | \xfe\xc9~\x80\xef\x03.\x85\xc7O\xfd\xb1\xdf/\x88\xa6\ 947 | \xee\xe1*\x9b\x17\xc4\xbf\xc2}\x80\x7f\x04'I\xac\xed\ 948 | [R\xcfn\xd4\xe5\xf1\x1e\xe2\x9f\x12\x88\x03\xe0y\xa2\ 949 | \xf3a\xf1\x1dE\xf8w\xa4\xe6z\x94\xcd\x09\xe2\xbfF\ 950 | \x04\xe6\x84\xe0Y2\x11\xdf\x7f\x8bzfK\xd9\x9c \ 951 | \xfekD\xe0Y2x\x9eP\xd0\xf6\x9b(\xca\xf7[\ 952 | \xf9\x11\x84\xce\x11\xd9\xaf\xb78K\x10\xa6\xa7\x11\xff\xf2\ 953 | \x16a\x1f@\xdd\x1bb\xf0\xc6R\xcf\xe9\xcay\xbeg\ 954 | X0A\xe4\x15\x11DX\xa6l6`Ir\x9f\xf9\ 955 | \x85 \x9eg\x13D+E\xd8@=\xe6\x1f\xe6\x83`\ 956 | \x1cp%\x82;\x8dz>\x7f\xa7\xfc\xf1\x0dN'J\ 957 | \xb7\xaa\xda\x80\x90{\xe1\xb6\x9a\xab\x1a\xfco\xdd\xecD\ 958 | ,\x9c?_\xa1\x02e\xc8\xa3\xae0\x1f\x18\x18\xc9q\ 959 | \xc3\x18E\x97\x151\xe7\xa3K\xf2\x1d\xf9\xb2\xea6 \ 960 | \xce=\xfd\x96\x02\xb8W\x10\xff={\xf4(\xcdSQ\ 961 | \x02e\xc8\xa3\xae0\x0e\xbc\x16\xc5\x0e\xa3\xde\xcbQ\xd0\ 962 | \xbd\x9e\xaa\xda@\x8dq\x8f\xf8\xa7\xde1\xf1\x0b\xe7<\ 963 | \xc6\x5c\x0a\xff\xc5<\x14\x87\xb3\xb46`Q\x93\xdc+\ 964 | \x88\xff\x046\x9b\xf2\xab\x8a\x14(C\x1eu\x85\xf7\x8c\ 965 | \x82#\xd9\xb9\xd4\xfbx\xfb\x15\x8bue6P\xe3\xdc\ 966 | +\x88\x7fU\x12x\xd7\x0c\xde7\xa4\xc6~\x0a\xe6\xbf\ 967 | \x22\x1bP\x0a\xf7\x88\x7f\x8a\x7f\x18\x03R\xf7|j\x80\ 968 | \xff\xf2l \xfaUY\xee\xb7\xd5\x14\xf7\x88\x7f\xea\x9d\ 969 | S\x18\x03\xd6$\xff\xe5\xd9\x80R\xb8G\xfc+\x8d\x7f\ 970 | \x90_.\x10Dq\xc9w\xee\x9feWo\x9e\x10\xf1\ 971 | \xaf:\xfc\x8b\xf7\xf7U\x9d\x1f@\xfc\xab.\xff\xe2\xdc\ 972 | 3n\xcb6G\x84\xf8W=\xfe\xc5\xb9\x17\xf6\xf7\xb2\ 973 | \xce\x13\x22\xfeU\x87\x7fI\xdc\x0bE)6\x80\xf8\xaf\ 974 | \x11\xfe+\xe3^\xd4\x06\xa2^\xd5\xa0\x0d(\x80\xff\x09\ 975 | \xe3\xc6\x11\x1d\xda\xb7W\xa8@\x19\xaa\xc2\xbf\xb4\xdc+\ 976 | \xc5\x06\xea\xf9\xfc\xbf\xa2\xf9\xaf*\xf75n\x03\x0a\xe0\ 977 | \x7f\xda\xd4?(~\x14)P\x86*\xf0\xcf\xfaW\xf6\ 978 | \xb9\x1dq\x1b\xd8rC5\xf8W%Q4\xfffg\ 979 | \x08\xe2E\x8e\xec\xf3zB\x1b\x08I'\x08\xad\xc3\x88\ 980 | \x7fU\xe3\x1f\xc4\xf8x\xf5\xae\x07\x1bP\x08\xf7\x88\x7f\ 981 | \xa5\xce\xff\xd6\x0aA\xfc#\xfe\x11\xff\x88\x7f\xc4?\xe2\ 982 | \x1f\xf1\xaf|>\x10\xff\x88\x7f\xc4?\xe2\x1f\xf1\x8f\xf8\ 983 | G\xfc#\xfe\x11\xff\x88\x7f\xc4?\xe2\x1f\xf1\x8f\xf8G\ 984 | \xfc#\xfe\x11\xff\x88\x7f\xc4?\xe2\x1f\xf1\x8f\xf8G\xfc\ 985 | #\xfe\x11\xff\x88\x7f\xc4?\xe2\x1f\xf1_=\xfe\xe7\x5c\ 986 | #\xb0%\xa1\x04\xb6\xbc\x9e\xc9\x98\x1d\xa5\xfc/Y\xb4\ 987 | \x88\xd8\xef\xee^\xaf\xc4c\xcf\x1eb\x17\x93\xa9\xf0\xf7\ 988 | \x15\x90 AR\x8b\x05\xf9\x7f~Z\xd9\xf5\xa9i\x01\ 989 | \xce\x81{\x14\xff\xf1\xd3\xca\xaeOM\x0bp\xce \x10\ 990 | \xff\x88\x7f\xc4?\xe2_\xf9\xf5A\xfc#\xfe\x11\xff\x88\ 991 | \x7f\xc4?\xe2\x1f\xf1\x8f\xf8G\xfc#\xfe\x11\xff\x88\x7f\ 992 | \xc4?\xe2\x1f\xf1\x8f\xf8G\xfc#\xfe\x11\xff\x88\x7f\xc4\ 993 | ?\xe2\x1f\xf1\x8f\xf8G\xfc#\xfe\x11\xff*\xcb\x7f\xb7\ 994 | K\x04\x11\xf7\x9a/].\x22\xfe\xeb\x1b\xff\xd6\x81\xdf\ 995 | \xd7\xf7\x1d\xe0\x8f\xf8G\xfc#\xfe\x11\xff\x88\x7f\xc4?\ 996 | \xe2\x1f\xf1\x8f\xf8G\xfc#\xfe\x11\xff\x88\x7f\xc4?\xe2\ 997 | \x1f\xf1\x8f\xf8G\xfc#\xfek;\xff0\xa7\x0b\xbcJ\ 998 | #\xab\xb9\xdf\xf9_\xc1\x91\xfe\xba\xae\x97j/\xff`\ 999 | \xc7v!\x8a\x15+\xbf\xda\xcb?\xcc\xe5+z\x83o\ 1000 | \x82\xd5V\xfe\x1f}R\xbc\xfe\x801\xe2\x1f\xf1_\x1b\ 1001 | \xf9G\xfe_\x15\xfd?^\x82\xe2\xbf\xfa\x1a\xff\x91\xdc\ 1002 | \xbb\x94\xe4!\xfe\xeb)\xff\xc0\xbdK\xe1\xbf\x98\x07\xe2\ 1003 | _\xe9|\xd4\xb4\x00\xe7\xc0\xbdK\xc1m\xcc\x1d\xf1\xaf\ 1004 | t>jZ\x80s\x97\xfc;\x18\xa3\xe82\xb6\x07\xf1\ 1005 | \xaft>jZ\x80sf\x91\x1f\xc6(\xa0c;\x11\ 1006 | \xffJ\xe7\xa3\xa6\x058g\x92\xdc3xc1&\x99\ 1007 | \xf6B\xfc\xd7\x1b\x01\xae\x81s&\xc9=#\xbf\x09\xe6\ 1008 | B\x8e\x03\xfeA\xfc\xd7\x1b\x01\xaea\xec\xc7\xe45\xc1\ 1009 | `s)\xb8\x85\xedE\xfc\xd7\x1b\x01\xae\x81s\xe1\xc6\ 1010 | \xe09b\xae\x88\xffz#\xc05p^\xca\x7f\xbe%\ 1011 | \xe5\x0fj\xb0\x0f@\xef\x7f(IJ}?\xc9\xb9\xe8\ 1012 | \xe6R\x10\x8d\xed\xae\x05\xf5C\xfc+V\x80cFA\ 1013 | \x14&\xbe1\xf2\xc7P\xf7\x03\x0e\xd4\x82:\x22\xfe\x15\ 1014 | #\xc0-p\xcc\xcc\x1f\xfd\x03\xffL\x1e\x0ds)\xbc\ 1015 | \xab\x8c\xb9 \xc4\x7f\x0d\x09p\x0b\x1c\xbb\x16\xd0~\xe0\ 1016 | \x9f\xef\x03FR\xf6\xe1Y\x0b\xea\x8a\xf8\x97\xaf\x00\xa7\ 1017 | \xfc\xb6?\xb2\x5c\xeeK\xe3\x00^(57T\xc3\xf3\ 1018 | A\x88\x7f\x05\x0ap\x09\x9c2Hn+\xdb\x98\xf9\xe6\ 1019 | \x98KI\xae2\xee\x09!\xfe\x15$\xd4\xbd\x1e\x92S\ 1020 | \xe0V\x9a\x8d\x91\xb7\x88\xf2\x155<'\x88\xf8W\x80\ 1021 | P\xe3=\x90\xfcERq_j\x03\xf9>\xd4_\xe16\xc0\xa3\x91\ 1036 | u\x18E=?\x00\xcf\x15@\xfc\xb1WP\xcf\xda\x1c\ 1037 | #\xa8\x0a\xff^\x02,\x01Sj.\x87\xc4\x98Ab\ 1038 | \xcd\xe4\x8d\x91x\x1fOY\x1b\x93gI\xf6\x0bN\xd4\ 1039 | \xb3e\xf0L)\xd8\xe8N\x81\xbdB|\xb2\x8f\xe0\xbf\ 1040 | wT\x1bd\x89\x08\xff\x90Vv}\x84\xb2O\x80\xd5\ 1041 | n\x01vT;\x87\xf7\xf4HL\x01[\xc0X\x156\ 1042 | f~c\xcaF\xa9g\xcc\x8b.S\xef\x19\xb9\x14e\ 1043 | Q\xef\x9c1p\xbc\xf4\xddce\xc9\x9cP\x91o\xa0\ 1044 | \x87*\xb7.\xfc\xf7pq\xfe\xfbx\x80\x11\x89\x15\x93\ 1045 | \xc4\x0c\xb0\xa30\xe45V\x14M\x04Q\xfc\xfd\xc0\x1a\ 1046 | \x9e\xc6\xcc\xf8~\xac\x0d\xc7e\xcf&p\xd1cg\x82\ 1047 | \xe0\x89\x1e\x9b\x11D\xb6\xe8\xb1\x11A\xb0D\x8f\xd5\x09\ 1048 | \x82.zL+\x9b=Y\x00^\xf6\xd8\xb9\xb8\xec\xb1\ 1049 | \xb5\xf81\xaf\xec\xb1Yv\xd9c#\xf1\xe3\x8c\xb2\xc7\ 1050 | \xda\xac\xb2\xc7\xea\x95\x1d\xd3\xcb\x1e\xd3*;\xc6\xd0\x86\ 1051 | 6\xb4\xa1\x0dm2m\xf4\xb2\x87\x95\xfa[V\xd9\xe3\ 1052 | J\xfdyF\xd9c\xed\xca\xfa\x0f\xf1\xfe\xa6\xb2\xfeI\ 1053 | \xbc?\x13\xef\xef~\xe8\x0f\xcbTP\xfd\xc7\xfeT\xbc\ 1054 | \xbf\x15\xef\x8f\xc5\xfb\xeb\x1f\xfa\xf3\xb2\xfd}\x07rg\ 1055 | O\x0a\x14K\xc3\xcc\xa9\x7f\xd3\x0f`\xf2\xdd\x18<\x0d\ 1056 | \x8c\x91\xdf\x8b\x1c\xb7\xac\xc3\x18\x85\xe7\xc9x0\x99\x94\ 1057 | wd\xccS\x801\xc9\xb8\x87z\x17MA\xb2\xa3\x90\ 1058 | \xc0\xb4\x0d\x09===\x82\x15\x15Ipcc\x14*\ 1059 | \xb11\xb1xh\x14\xeb\xeb\xb5H\xd6\xc3\xab\x91\xec+\ 1060 | A\x11lG\xbfpn\xff\x80\x08\x8e\x96\x9cQ\x95\x02\ 1061 | \xf7\xfc\x0e$\xe6\xbb1Fq&\xb6\x93\xc4y/)\ 1062 | 0\xc6\xf0$\xf7\x07H\x81\xb1\xa5\x17\xecI9XI\ 1063 | \xba\xb2\xdf%\xa5=\x8bpL\xa7\x01\xa1\xaf\xaf\x87'\ 1064 | \xc5s\xf1[I\x89\xc4\xcd\xc4\x04\x1cD4-~\x5c\ 1065 | \x9d4)\xc4\x8d\x84x\xfc:Y^\x22\x87M\xc4\xb3\ 1066 | \xe2\xf0\xf0\xa8\xb8,\x92\x03O\xbfpN7\xc5\xe3\xce\ 1067 | \xebD\xc6\xf0W0W\xbc\x10s\x07\xace\xc4NE\ 1068 | \xf1/?\x1d\x8f'\x91\x5c\xb0cc\x8b\x03#\xd8\xa1\ 1069 | \x97\xc2\xe2\xbb+\x00w\x03R\xf6R\xb8\xc3\xfa\x16\xb5\ 1070 | a\xfe\xc9\xb3\x88\x10\xe0O\x90\xf6H\x00\x1e\xca\x14h\ 1071 | \x1bI\x5c\x0e\xc5\x83\x7f\x04\xc7\x8b\x14#9a\xdf\x95\ 1072 | \xf4\xe9)\xd8\x1e1\xbfR\x1d\xdb\xadS\xf6\xff\xa3\x8f\ 1073 | Jd\xb3\xf0\xb0(\xd6\xf3+\x11\xdc^\xd5\xc3>\x7f\ 1074 | ,\xc6,\xc9\xa1|\xbb8\x0e\x08\xff\x0a\xd3\xd0G\xc4\ 1075 | \xc5\xc4~\xf3\x0d\xe7\xfe!\xa3\xdd\xcf\xa6\xfcMm\xbd\ 1076 | \x17Z\xcb\xfcOyB\xf6\xd5\x94?\x22\xdbAU\x9f\ 1077 | Q\x1d\xcb\xc7\xbe\x02[E\xf6/U\x1a\xe2%\x92\x83\ 1078 | \x22\xa9\xdb\x01\xf8{\xf09\x9e\x95`\x85\xf0\x97:\x0d\ 1079 | \x1c\x80/\xaa\xb4?\xa0\xe2\x1c\xb2\xafU\x85\xef6\xaa\ 1080 | \x80\xff\x11\x15\xa8#\xf4\xc9\x01\x15\xc5E\x10c\xee\x91\ 1081 | \xd2V\x91\xfdW9\x0dq\x11\xc4\xa6\x12\xb0\xefH\xf9\ 1082 | \xfc\xda\x10\xdb\xd7A\xfb\x17pA\xf5\xc7\xbe\xe1\xf1?\ 1083 | \x8e\x95\x19\x05~\xfc\xb1\x15\xb2\x7fE\xa6\xc91\x1aN\ 1084 | \x8e\x93\xafI\xb4}\x84\xbf\xc2\xd3TL\x1a\xce\xed*\ 1085 | b\xfb{\xa8\xf9\x9c\xaa`\x85\xf0\x979\x0d\xf3Ed\ 1086 | ?\xfc\x8f\xc0\xf65\xa8yLU{\xd6P\x05\xfd\xbf\ 1087 | h?\x00\xf3\xa6A\x11l-r\xac\xf5+5\x87\x5c\ 1088 | U[\x159\xd6<\x5c5\xdbU?\x84\xe3j\x87\xea\ 1089 | \xaf\xfdC\x1a\xe6\xae\xc9\xf1@\x7f\xd2\xf7\xac\xa7\xe6\xef\ 1090 | e\xc4\xdf\xe0\x18\x8e\xc7\xbc\xc6\xf15\xf1\xd2a\x07\xd8\ 1091 | {?\xc6\xf1C\xff#\x08\xb5\x83\xf5\x17\x7f\xd2\x07\xe1\ 1092 | \xc1\x91l'\xea\xbeU5\xc6[\xbd\xfd\x08\x22\xa7\x80\ 1093 | Jp\x82X\x9bP\xf1\xb9\x1a\xa4\xcd\x9f|\xcc_\ 1094 | \x1b--\x87 \x9a\x9dT\x9e\xff\xd9\xb1\x8dN\x8c\x1e\ 1095 | 9R.\x02yU\xb5|\xa8\xf3\xb5H\xf6\x15\xea\x9e\ 1096 | \xa1\xf8\xe4+(\x7f\xe4\x7f*=\xff3\x0f\xc7)\xfc\ 1135 | \x91\xfd+\xc5\xff \xfc\xa5\xc4_A\xed\x0b\xf9\x9fJ\ 1136 | \x04\xf9\x9f\xdaa\xff\x08\x7f\xe4\x7f\xaa*\xc8\xff\xa8\xb4\ 1137 | \xfd\xab\x1d\xc2qX3A\x83\xdaW/\xadV]\xfb\ 1138 | \x97\x01\x7f\x18[\x81}\x03\xc6|\xf91\x0d\xef\xb9\xc3\ 1139 | \x9a\x0f\x15\x9d\x03\xfb\x1d\xb7k\x1e\xffC\xff\xc3qx\ 1140 | \x0f<\xa7\x00\xf6\xd5K\xbb&W\x13\x7f\x19\xda\x0e3\ 1141 | \x99\xef_*\x12X\x95\x80\x8f\x7f\xc5\xb2C\x96\xf5\x81\ 1142 | \xaa\xe9\x7f`\xfdK>\x86\xd5\x17\x0a\x7f\x99\xfdO\x15\ 1143 | \xfa)\xe4\x7f\xe4\xef\x7f\xa8\xf5\xf7\xea\x1f\xfe\xb5\x22\x0d\ 1144 | \xd8S\xebO\xca\xd8~*\x11\x14\xffT \x809`\ 1145 | /\x87\xf5W\x91\xfd\xcb\x90\x06\xcc\xa9\xefe\x16\x9e\xc3\ 1146 | \xf6#\xfck<\xbd\x0f\xf0'\xb1\xa7\xd6\xdfVL\x1b\ 1147 | C\xfe\xa7\x02\x01\xcc\x99\x85\xeb1\x06\xaf\xda\xeb\xcf#\ 1148 | \xfb\xafb\x1a\xd6\x1b\x06\xcc\x99$\xf6\xfc\xef/dP\ 1149 | k@#\xfck&M\xf5\xbd\xc5\x99\x18\xb3@\x83\xff\ 1150 | \x0d\x8c\xc2=\x98\xbb\xfc\xdb\x18\x8c\xd1\x14\xb2\xf6*\x88\ 1151 | *\xfb\x1f\xc0\x9aQ\xb8\xbb.|\x7fG%\xed\x1f\xb0\ 1152 | f\xf2:\xd4\x85\xefO\xa9\x1c\xfe\x1e\xa4\x00\xd6u\xe4\ 1153 | \xfbk*\xe5\x7f\x00[\xbe\xedw\xfc\xf1\x03x\x98J\ 1154 | ~\x7fPe\xec\x1f\xb0\x07l\x01cI[\xe9\xf77\ 1155 | \x11\xferO\xc37v\x00[&\x89qE\x1bS\xe4\ 1156 | \xfb\xb3\xcan\xaf\x15\x89*\xf9\x1f\xc0\x120\x05l\xa5\ 1157 | \xd9T\xe8\xfb\xcb\xb5\xde\xfe\x01C\xca\xe7\x93\x98Ve\ 1158 | c\xf0f\x95r\x80\xf0\x97-\x0dv\xcf\xefogU\ 1159 | \x09{\xd1v\x00\xed\x06|Wm\x8b\x8bj\xb3\xff\x01\ 1160 | \xac\xf6\x0b}N\x15\xed^|\x03\x9f\xc5(z\xc4\x8f\ 1161 | \x8b\x90\xfdW\x9a.\x8dsH\xcc\xa4\xf5\xf7\x95s@\ 1162 | \xc6E\xbc=T[\xf2@\xf8KL\x036\x80\x11\xc4\ 1163 | \x98\x95\xc59\xb2\xf1\xd0\x91\x1c\xbb]\xa1\xca\x809\x8c\ 1164 | \x03J\xf4K\xb5\xc1\xffx\x090\x00,(\xdcIl\ 1165 | $\x8d\xad\xe4\xcbC\x07j\xfe\x08\xe6\xf0`\x1e\x15\xbe\ 1166 | \xdf\xb9\x8f\xe0\xf7\xf5\x07\xc4\xfcT]\xb2\xff\x03\x02\x1d\ 1167 | \xe1\xde\x09\xcc\xdf\x83\xee\x80\x01`!>\x9fS\x13\x1b\ 1168 | \xa3@\x83\xba\x7f\xc0(X\xc7\xbf\x97S|\x9b\xf4{\ 1169 | \xef\xa8\xfb\xca\xd4\xb3-8^\xfa\x8c\x85\xc4te\xbf\ 1170 | KH\xc3\xda!\xda\xd4:@\xdf\xd7\x11)\xf7\xfcj\ 1171 | \x94!\x9a\xe6\xdf+\x7f\xc7\xd7\x91\xd4\x95I\xea\x0c\xf3\ 1172 | \xf7\xc29d\x197\x02\x17\xa6\x9c\x09\x82'L\x9b\x11\ 1173 | D\x860\xadM\x10ta\x9aF\x10\xe5]J^\x5c\ 1174 | \xfc=m\xcd\xfb\x9e6\xcb\xfe\x9e6\xca\xf8\x9e\xd6\x16\ 1175 | M\xb3\xbe\xa7\xd5E\xd3\xf4\xefi\x9ah\x1aC\x1b\xda\ 1176 | \xd0\xf6\xc3F\xff\x9e,\xd3^X\xdf\xd3e\xdaW\xc6\ 1177 | \xf7\xb4\xb6hZ\xb4\xcd\x8a\xb6e\xd16.\xda\xf6E\ 1178 | }B\x19_Q\x9a\xa9vY\xdf\x22\xe2s\xa0\xd3\xb0\ 1179 | #e\x1f\x5c\x81\x99S\xff\xb5\x9f\x8cUos\xc9\xff\ 1180 | \x99\xf4\x91\xabH\x7fy\x09s-~\x84\xb9\x15\xe7\x90\ 1181 | }U\x09\xb6\x8bt_\xf2\x90v\xbf\x13V\xbd{\x13\ 1182 | \x09\xac8\xb9\x08\x97\xc5\xc2\xa3c\xd9\xbc\x88hvj\ 1183 | X\x14\xcb?$\x92\xbd\xe1r8W\xbe\xfd\xa9K>\ 1184 | \x8d\xec+'`\xcc\x22\x0e\xb6\x9b\xc4B\xf8\xcc\x89\xa4\ 1185 | 8A\x92HsN\xc7\xe1D\xdf>}p\xd15 \ 1186 | \xcb\x13\xf1u\x22\xa5=\xe7z<\x17O`\xb3p\x12\ 1187 | \xab\xebW\xc29\xd3.\x85q\xd5\xaa\x85\x0d#\xbf\x07\ 1188 | \xc6,N\xc2\xdc\xe5\xa0{-\xc0GT\xe0;\xe7\xe1\ 1189 | Q\xac\xe4+\xe1\x5c+\xd9l\x86\x8c3v\xe1<\xfe\ 1190 | X\xa3\xee\xe1#\x10\x82\xc3b\x15\x06Ep\xfe&\xed\ 1191 | I\xba\xf8\xc2%_\x9d\xc4\xe6p\xa9\xcd\xc8K\xf7Z\ 1192 | \x88\x8f\xf0\x1c\xb0\xa5\xe0H\xf6I\xffpN\xc51'\ 1193 | \xdfn\x0eK\x9c+\xa8\xa3\xf8P\x18q9\x14F\x15\ 1194 | \xda\x11\xb4)q_SO\xf0\x11\xda\x11\xb4\xb5\xf2\xb1\ 1195 | \xe1\xf5\xa0\xfc\x8d\xa2tW\x01|@\xc0\x1f\xf9G\x88\ 1196 | \xf9lhW\xd0O)\xe8yi\xa9\xa5\x13\x85\x8fR\ 1197 | \xd7\xce\x06\x9fM\xf6k\xb7/\x8b\xf6\xfd\x10\xdfH\xea\ 1198 | \xc3\xeb\x99\xfd\x08\xdb\x19\xe9\x87\xa6\x96\xe2\xc3,\xe6(\ 1199 | \x5cw\x15\xc2\x07\x84\x8c!\x93\x04m\xcb\x92\x8a\x8b\x11\ 1200 | >e\x04\xe2l\xd2\x86\xdaS\xe3\xa9\xf2\xc6\x0c\x92\xf4\ 1201 | :\x88\xe3\xad\xcfT\xae\xbb\x99\x14\xe7\xd4f|`,\ 1202 | r\x95\x1c\xafQc\xcd*\xf0>#\x8a\xff\xee\x9eM\ 1203 | \xa0\xe4s\xe6D\xe3x^\x11\x8e\xf7\xbd\xa28|\xb8\ 1204 | q\xb1\xb8\xf7\xb1\xa3\x15\x09!\xe97\xb8V\x1a\x0c\xc9\ 1205 | 6\x16@\x8d\xc3\xab\x80\x8f\xdeQ\x1c\x8f|\x09\xdf\x8c\ 1206 | \x16\xc1H\xe4\x9c\xd9$6E%8~<\x85\xff\xfd\ 1207 | iE\xe1s\xd1\xe7\xac\xf0{\xcf\x92\x84\x90\xf4\x1b\x5c\ 1208 | +\x0d>\x11\xd1\xacTj\x8e\xa2\x8a~\x030\x8az\ 1209 | EbT(\xc0Hp\x8eDl\x14d?\xa7O\x9c\ 1210 | \xa8H\x08I\xbfIk?\xd11l\x1e5\x7f#\x83\ 1211 | _\x15b\x94[\x08\xdf\xfd%\x08!6'\xca\xc3F\ 1212 | \x05\xfd\x0f\x08\x97\x15\x87S\xf3R2\xc6szG\x09\ 1213 | \x22\xea\x15A|+$\x88\xe2\x12\x828\x91B\x10j\ 1214 | \x87T;>\x14\x15\x98c\xa3\xf0\x91\xc1~\x84\xb20\ 1215 | \x0e\xbenO\xe2C\xfe\x1d\x12${>\xb5\xd1~\x12\ 1216 | \x84\xf6##>\xc26u\xf21\xd8\x11\xbf\xad\x95\xe9\ 1217 | \xd7\xea1>\xa2\xfe\x06\xda\xd4\x0f>[\xc1\xf8@|\ 1218 | \x12\x15\x1eV\x91\x10\x92~\x83k\x15\x89\xcf\x0f\xbeX\ 1219 | pN)F\xe2\xf1\x91\x02\xf0\xa9\x89\xfe]\x16|\xc6\ 1220 | \x85\xe2x\xa1x\x1f.r\x8e(F=}\x15\x87O\ 1221 | ld\x04\xbe\xddykEBH\xfa\x0d\xaeU\x14>\ 1222 | ?\x9d\xc4\xf1-7*\x8e\xfd\xf4I\x8c\xb6\xdf\xc2q\ 1223 | \xdd#\xf5\xd7\xff(\xe4\x1c\x84\x8fj\xe2\xa3\xcc9\xc3\ 1224 | :\x1e\x1f\xd6\x0b\xfbA\xf8 |\x10>\x08\x1f\x84\x0f\ 1225 | \xc2\x07\xe1S\xb7\xf0i\xfb;\x81u\xac%\xa2\xdf\x98\ 1226 | 022\xa2b\xc4\xda V\xbd{\x11\x02|\xf0\x0a\ 1227 | \xa4\xb2\xdf\xe5w\x0e\x89\x0f)\x95\xe5Ssuj\xfb\ 1228 | {\xadk_\xe4\x18\xa3\xe2sj\xb2N\xbbp\x84\x0f\ 1229 | \xc2\x07\xe1\x83\xf0A\xf8 |\x10>u\x15\x1fe\xcf\ 1230 | \xab\x8a\xcc\xafR\xa2\xecz\x08E\xf8\xdeL5yh\ 1231 | }\x86 ~x\xa6\xac.\xd9O5\xcb\x09I'\x88\ 1232 | \xa0\x17\x08\x1f\x84\x0f\xc2\x07\xe1\x83\xf0A\xf8\xd4>|\ 1233 | \xa0\xff\x0eI/_\xde|#\x88\xaco\x92\x7fou\ 1234 | F\xfe\xf8t8\x8f\xe3\xe1\x99\x15\x09AH\xfa\xcd\xec\ 1235 | l\x15\xf1\x91\x22V\x82\x18\x07\xec\xa4<\xe1\xe3#\xf9\ 1236 | \xf7Vg\xe4\x1f\x1fv8\x0f\xfa\xcb&fg\xab\x10\ 1237 | \x1f\xca\xf8|o\xbdh_\x80\x8d\x0c\xcf\x87\xd7\x1b|\ 1238 | \x00\x9b*\xbe_P\xaf\xf0\x01l\xaa\xf8~J\xbd\xc2\ 1239 | \x07\xb0\xa9\xea\xfbM\xf5\x05\x1f\xc0\x84ZK\xa3\xfa\xef\ 1240 | \xc7\xd5I|\x00\x13\x06\xefgy\xbc_Y'\xe77\ 1241 | \x00\x93Z\xf8~n\xad\xc0\x07\xb0`\xf0\xc6\xd7\xc6\xf7\ 1242 | \xbb\x95>\x7f\x08\x18\x00\x16\x0c^\xd9u\x14j\xc9\xfa\ 1243 | \x00J\xb7\x1f\xc0\x80IbQK\xd7\x97P*>\xa0\ 1244 | ;\xac\x8f'i\x03\x9bR\xf2\xfa$J\xc3\x87\xff\xfd\ 1245 | \x87\xc3?\xb4\xab\x1f1R\xea\xfa6J\xc1\xc7]\x88\ 1246 | M\x81z\x85\xd8\x94\xb5#\xa5\xac\x8fT\xa3\xf8\x80n\ 1247 | \x94\xbf\x81u6+\xb1\x9b\xf2q\xaa\xf1\xf5\xb5j\x0c\ 1248 | \x1f\xca\xd7\x90\xbaI\xf2\xc5\xd2c$X\x9f\xad\xf8\xfb\ 1249 | \xfal\x07T\x10\x1f\xa83\xd4\x1dt\x00]\x98\x05\x13\ 1250 | d\xb2\x99\x8a\xb1\xaa`}?\x1c\xafX\xa48\xa7\xdd\ 1251 | \xef\x04\xd6nx%\xf9H\x99\x97pnK8G!\ 1252 | \x1ck\x0a\xc7\x0cRn\x82\xb5\x14\xb5\xe1eD\xe1z\ 1253 | \x8b\xc2\x17\x13as&E\xb8\xc4\xa2\x19)\xc25\x1c\ 1254 | \x8dH\xc9\x10\xa4\xb5\xc5\xd2,A\x1a\x9c\x1d]\x90\xa6\ 1255 | U\x90F\x1b\xda\x14\xb1\xd1\x05\xfb\x8al\x8f%H\x83\ 1256 | \xadf\x08\xd2\xe2\xf6,j\xf3\xa2mA\xb4\x8d\x88\xb6\ 1257 | \x1d\xd16\x05\x8bm\xda\x08\xca\x14\xaeC\x8a\x0d\xa9\xb2\ 1258 | *\xfc\xcd%_\x07s\x01\xbfWt\x88l\xf77\xb1\ 1259 | \x9d\xc5\x1fH\x7fX\x8c\xed&}Au\xa4\xc7L\xe2\ 1260 | \xf7a\xb6D\x22\x9bU-\x81\xf5F\xa3b9_\xa2\ 1261 | bXwC\xa3X\xc7\x03\x228S/\x86q\xf5d\ 1262 | \xd4VT\xefF\xa4os\xc5v\x96|\xa4\xd6C\x97\ 1263 | \xf7\xda\xf4V3\x89\x11\xc3\x87\xcb}\x1d\xb1\xeb\xf1\x1c\ 1264 | \x82\x15\xc7\xce\x09\x89d\xef\xf5\x0d\xe3\xfe$\x93\xee\x0c\ 1265 | \xde\x1cR\xef\x0f\x0a\xfdn\x91\x02\xf4\x17\x95\x1b\x09\xf1\ 1266 | D\x5c\x1c\xeb3i\x0f\x0b\xaa\xc0\xb9&\xc9\xf9\x09\xfe\ 1267 | \xb7\xfb\x14<'\xa0`\xfd\x85\xf6\x90\xc4\xe5\x10W#\ 1268 | \xd9g\xfd\xc29\xda\x15\xeb\x9e\xa7\x891\x8b\x82\xa9o\ 1269 | \x9d\xd4\xc4\x9cH\x0d\xe8_j\x0b\xf1\x5c\x22,\x8a\x15\ 1270 | ^!\x06\xc0{M\xe9^\xc3\xfa\x0b1\x00;(_\ 1271 | \xf7\x829\x94\xcd\xd7\x94\xeeJ\xd0\x1f\x04\xdaB\xa0\xb8\ 1272 | ?\x00?\x0f\xbe\xae\xa6\xbf=\xa2\x04\xfd\xc1\x1f\x80O\ 1273 | \xbc\x1c.\xd2/@\x1f\xa7\x8c\xef\xd3)A\x7f\xaa\x1d\ 1274 | \x90\xfd\x02\xd97\xee\x11p\xaf\x83\xed*\xf9T\xe3\xba\ 1275 | +Q\x7f\x9082>\xf0\x85\x18\x09\xe2\xba}J\xd0\ 1276 | ]\xc9\xfaC\x8c\x14\x14\xc1\xfe\x83\x8ai\xa5l\xf7\xb3\ 1277 | \xa2\x09\xa2\xa7\xaf\xe4\xdfG\x5c%\x88a\xc1\xaa\xa1?\ 1278 | \xf8\x01\xb2?\xe8\xaed\xfb\xa7DY\xe5\x0b\x9f\xc3@\xfa#\ 1295 | \xfd\x91\xfeH\x7f\xa4?\xd2\x1f\xe9/\xb5\xf4\xf7\xe7K\ 1296 | }\xd5\x1f\xe6{\xe1\x9e0\xd2\x1f\xe9\x8f\xf4G\xfa\xd7\ 1297 | U\xfd\xc1\xc7\x83\xae\xe2\xf2,\x9b R?\x97\xff[\ 1298 | ?i\xfa\x05)\xf5\xb7\x0d&\x88\xb3O\xab&\x03\x03\ 1299 | \x90\xfe\xd2\xe9_\xb5\xe7_\xea\x96\xfd\x93\xbaW\xe1\xf9\ 1300 | \xa7:\xa7?\xe8\xee&\xfd\xf3ouN\x7f\xd0\xbd\x0a\ 1301 | \xcf?\xd6)\xfdAg&\xa9;C\xf6\xe7_UZ\ 1302 | \x7f\xd0\x19t\xaf\xc6\xf3\xcf*=\xfe\x81w\xba\x18<\ 1303 | \x1de?\xff\xae\x14\xfdAW\xd0\xb9\xf4\xf9\x7f\x9e\xd2\ 1304 | \xde\x7f\xa8q\xfd\xbd(\xee?P:\xd7\x82\xf7_j\ 1305 | \x5c\x7f\xd0\x11t-oc\xd6\xfc\xfbO5\xaa?\xe8\ 1306 | \x06:J|\xff+\xbf\xc6\xdf\x7f\xab1\xfd)\xddI\ 1307 | \xdd\x18R\xdc\xcf\xa8@\xfd\ 1333 | \xc1/\x05\x91\xbe\x95\xf2\xef\x15\xd8@\xaf\xcb8nz\ 1334 | \xfa\xc7\xffw<\x8f\xe3\xed\xcf+\xc7~\x84B\xf6\x0f\ 1335 | W\xa8\xbe\xa9\x02\x0c\xa7G\xe2\xf8\xe3O\x04az\xfa\ 1336 | \xfbo\x1d/\x10\xc4\x8b\x1c\x1c/}\xa7[F\xfcG\ 1337 | \xda\xd9\x11\xed\xda\xb6\x05\xc1\x05\xfb\x1f\xd2p\x8e\xa4\xeb\ 1338 | \xa1\x8f\xa3\xfa\xd5J\xec\x01\xdeO\x17\xea\xd0\xf1\x02\x8e\ 1339 | \xbf\xc8!\x08\xbb\x90\xea\xdb\xcf\xb5\xa0@\x22\xe0\xb2/\ 1340 | \x08.\xd8\xff\x90\x86s$]O\xf6\xd3Ed?/\ 1341 | \x95=\x83\x0eO>\xf3q\xb7\x0bQ\xbe\xfd\xc3\x1eb\ 1342 | \x8dJ\xd7z\x14\xda;\x89\xfb\xeb\xaf8\xfe<\xbb\xfc\ 1343 | \xf6\xa0\x0c\xfb\xe7\xd7\xbf\x12\x0cK\xed\x1dl\x06x\x10\ 1344 | \xb6\x87\xea\xe3\xcf\x8d\x8b%X1\xd1 \xb8`\xffC\ 1345 | \x1a\xce\xa9\x0e\xfe\xe0g\xf86\xf3\xfd\x7f|\x1d\xa4\xe0\ 1346 | \xa1\x12\xfc\xfb\xf7\xfb\x0do\xdc\xa8Q\x85\x02\xe7T\x07\ 1347 | \xff\x05q\x02{\xff\xa1=\xe0\xf8\xf8\xb0\xda`\xff\x95\ 1348 | \xdbOm\xec\xbf\xaa\xda~kS\xfcS\xd5\xf6[\xbb\ 1349 | \xf1W\xf5\xfa#\xfbA\xf6S\x8d\xfa\x8fp\xa1xV\ 1350 | \x88t\xb0\xc5\xadz\xf7&uX\xa4\x10Y\xbc`\x01\ 1351 | \xd4\x1fp\x22\x04eV\x96\x16=\xae\xfc|\xb2\xfe\xa4\ 1352 | T%\xcf\xaa\xa5\x01{\x05\xdb\x0f6\xd6E\xfa<\xab\ 1353 | \x9a\xa6\xe6\xca\x14\xeb\x7f\xc8\xfa+.\x7f\xe1\x5c\x9fJ\ 1354 | \xe3\xaf\xea\xf5G\xf6\xa3*\xf63;\x9a\x1f\xf7\xabj\ 1355 | \xfd\x1d\x92\x08\xe2\xaf\xc4\xdaV\x7f\xe9\xed\xcd!\x09\xc7\ 1356 | \xa9\xfa\xab\xa8\xfd\xd7N\xfc%\xff\x0e\xf6\x0e\x98C\xbd\ 1357 | A\xc22\x09\x224Sx\xcc\xdf\xc3\xbc\x90\xac\xf5\x9f\ 1358 | \x1fG\x10\x8e\xd7Ap\x9c\xbf\xff1=7Fv\xfb\ 1359 | \x99\x1d\xcd\xb7\x19\xa1\x84\x91u\xe7\xd7\xff\xbbP\xedY\ 1360 | F\xfb\x99\x1f\x07u\xadX\xe6\xc6Tb?R\xcc\x1f\ 1361 | \xd6Z\xfb\x81\xbaW2\x7f[\xab\xeb\xbf\xbb\xf8ye\ 1362 | \xf3\xe7\xb5\xda\xff\xb8\x15_\xc2\x18\xd2\xdf\xbf\xa8U\xfd\ 1363 | \x17\xffY\xc7Y\xd8\xe6\xff\x14z\xffHa\xf5\x87:\ 1364 | o\xff\xa2\xa7\xe8\xfbw\x0a\xb1\x1f\xa8+\xb3p\x85\xc8\ 1365 | \xb3\x02\x0a\xbb\x7f*w\xfc\xa1\x8eP\xd7\xad\xef\xca\xde\ 1366 | \x8bw\xf9\xd6\x18\xdb%\xff\xfb\xd7r\xad?\xd4mW\ 1367 | \xc9\xff0F~\xe3r\xef\xc1\x83\x0er~~@n\ 1368 | \xf6\x03u\x82\xbaI\xaa\xbbpsz\xadN\xd9\x96\x9c\ 1369 | \x9e\xdf\xa86\xfeP\x07\xa8\x0b\xd4I\xdcf*\xda\xe8\ 1370 | \x1f\xf5(\xff\xe4V|\xf1\xfb\xf338^%\x81\xf9\ 1371 | \x0dj\x8e\xa3\x8a\xd7\x09\xfbU(\x1b\xea \xf43\xe5\ 1372 | l\xd4\xf3C\xd6\x82o\xd2\x18\x09\xbeS\xa3-\xf8\x8e\ 1373 | \x8d\xba\xe0y$\xda\xf7=\xda*\xde\xe8\xf0G\x04/\ 1374 | \x16\xec\xd5\xbf\xe3*\xc4Y\x88;<\xa7e\x8e\xf1\xbf\ 1375 | \xe9S\xfa\x9c\x96q%\x85\x8c\xde\xa3\x81\xd1?\xcd%\ 1376 | \xe3\x8f\x08\xcc\x03\xbeaCr\x0e\xcfFJ\x92?\xaf\ 1377 | \x10n\x0c\x17\xe2z\xd9\x87b\x0be\x94a\x1b\x89\xd93g\x12;\ 1394 | \xc9:\xc8\x22\xd0wW\xb7|Jd\xbd\x1e\xca\xae&\ 1395 | \xfe\x94\xc8z\xbd0\x8eA\xe5\x97+\x0d\x8e\xf3EY\ 1396 | \xe5\x8f\x0b%\x88\xb1\xa1\xf5\xab|\xc0\x1b\xca\x05a&\ 1397 | \x13\x04#\xf9\xfb\xf1\x0f\x5c\x94S>\xc4I\x13\xc2\xca\ 1398 | \x17#\xf1\xeb\xa9\xf2\xcb\xc6\x1f5[>Yv9\xf1\ 1399 | W\x8d\xe1\x0fe\xef\xf91\xfe\xac\xb1\xf2\xa1\xec\xed_\ 1400 | $\xc6\xdf\x0am\x7fP&#\x7f.6\xfe@\xb5\xc6\ 1401 | \x1f2\x97\x0feN\xf3\xd1\xa0\xc6@\x7f\xa5\xc9<\xfe\ 1402 | \x92\xa9|(\xcb\xe9\xdf\x0ee\xc6\x80\x0e/d\x1a\x7f\ 1403 | V\xa9|/\x81\xde\xe2e\x0b\xb7\xc9\xc750\x97o\ 1404 | s)\xbb\x90r\xfc]\xda\x87J\x14A\x1b\x83<\x81\ 1405 | o!\xe6\x82-\x83\xff\x8e\x1e\xbc\x9fWc\xb30t\ 1406 | \xfe\xfbg\xf0\xee\x996\x00a\x82\xf1\xdf)\x13\xceS\ 1407 | \xd8\xebVp\xf1x\xaf\x96\x98\xeb7Ol_I\x06\ 1408 | \xb6\x1f/\xc1\xfe!u\x14\x97Ul\xe2\xb0\xd7\x01\xea\ 1409 | \xfb\x95\xe2\x92\x14\x1f\x0f\xf3\x11/\xafE\xb1\xbc\x96\xac\ 1410 | \xdf\xd2\xaaL\xde+o\x0e\x22\xf3\xe4\xafm!\x9c_\ 1411 | ,/\xbd\x96M\x1c=t\xb0\xf4y9\xc1x\xf6\x87\ 1412 | tb|\xfc\xe7\xfd\xc7\xcf\xd9\x94\xd6\x1b\xf2\x96\x94\xa7\ 1413 | \x0c\xf9C\x1a\xcaX\xe1\xb0\xad\x15\x85\x89\xb4v\xb8\x8e\ 1414 | \xca_\xea854\x9a\xedE\xe1-RO\xfb\x18\x1c\ 1415 | \xd7>\x8c\xe3zG\xe1\xfeM\xc5\xf5\xf7\xbdp\x9e\xd8\ 1416 | \xf4\xd7F\x5c T\x9a\xfc_\xa9.\xf1$\x1f\x14\x97\ 1417 | \x22\xf97;\x89\xe3\xbb\xee\xe0\xf8\xee\xbb0\x1e\xac8\ 1418 | \xff\x046\x8b\x88\x89\x08\xc7\x05B\xa5\xc9\xff\x95\xe6\x0f\ 1419 | \x9cSv!\x82\x01\xd4\x1b\xbe=\x03\xf9k\x1f\xae\x18\ 1420 | \x1fx\xa7%\x81\xc3.#\xf0\xbf\xd2\xdf!\x8e\xff\xa7\ 1421 | ,\x8f+98\x0e\xf5\x86\xb9\x8c%\xac\x8a\xeb\x7f\xe1\ 1422 | \xec\x19b\xf5\x8a\x15\xb8@\xa84\xf9\xbf\xd2\xfa\xdf\x80\ 1423 | q\xfa?\x95\xd8\x8c\x8c\xf6S&\x7f\x05\xd9Oy\xf8\ 1424 | \xc8\xbd\xfed\x9b\x87\xeb\xa4\x92?<\x89\x8d\xeb\xd6Q\ 1425 | :H#\xe0K\x04\xf9\xe3\x02\xa98M\xe6O\x0a.\ 1426 | \xf5\xf9\xab\xd8U\xe6\x97\xe4\x00\x97\xfa\xfc\x7f\xf0\x9a\xc9\ 1427 | _\xccN\xc0\xf6A\xca\xb3\x1fJ\xa4\xb57\xa1_\x17\ 1428 | +\xb7\xbf?\x88\xfc\xf1\x81:C\xdeK\xd98\xbe\x84\ 1429 | \xcdO\x83?\x92\x94\xbf\xc9)X?\x0e\xc7\xf9\xc2O\ 1430 | \x979\x1f\xf2\x07\xff&\x82\x0b\xd4{)\x997?\x7f\ 1431 | 1\x9c\xc4\xf0\xe1\xe7_V\xca\x9c\x0fy\x8b\xf9g\xb9\ 1432 | \xe2\x03y\xbb\xe5{\x8a\xff\x1ft\xa4\xeaQ\xdd\xfcw\ 1433 | \x15zb\x93\x8f\xb5,\xed{\xa5\xf0?R\xdb\x0f\xe4\ 1434 | 9\xe3BK\xaa\x0f^{_\xea\xfe]\xaa\xfaC^\ 1435 | \x1b\x9f\x0c*\x13CL=\xdd\x12\xdbY \x16\x9f\x88\ 1436 | \xd8\x18\xec\xc1\x97Pm^\xec\xffB;\x81k\x01\x13\ 1437 | a\xbd1\xb8\xdf\xa3N\xc6M\xf2\x0f\xd1 O\xc8\x1b\ 1438 | \xe20\xb8=d\x8e}\x8f\xc3l4$\x5c4\xe5\x98\ 1439 | 5\xb6\xb70\x01\xf3\xc4\x0b\xa9\xfb\x98BqJ!.\ 1440 | \x9d;G\xf5\x8dB\xb9\x9e\x10_\x14\xc7\xe2&\xad\xd9\ 1441 | \xe4<\xb8\xf4\xda\x03\xe4u\xe5q\xb55\x85\x80X\xa1\ 1442 | \xdc>$1\xa1p\x9d\xe3\xb6\xc1\x98;Y.y\xae\ 1443 | &\xd9g\xab\x1f\xe2\x7fc\xad\xf4;k\x15\x5c\x0f\xc2\ 1444 | bs\x93\xa8:\x93\xe7\xea\x92\xfd\xff\x9f\xb1\xfcg\xbd\ 1445 | \xb4\x8f\xfcx\xbd\xcf\xe9S\xc4.WWJ M\xcd\ 1446 | \xd7\x91\xba\x08\xd7w\x812\x17\x90\xd7\xce\x8f\xe5\xd7\xa3\ 1447 | \xfc\xeb\x99\x94\x08\xaf\x07<\x84\xd7\xeb\x93\xe5\xeb\x1c\xe1\ 1448 | \xc7!:\xe5\x94_.\x06\x22\xd7W\x15\xbf\xd2\xebI\ 1449 | \x8e\xb0-\x12di\x08\xe1\xb1g7\x95Gy\x02\xdc\ 1450 | Vv=%\x92~\x87k+\xa9?%\x92~\x17\xda\ 1451 | \x99\xa4\xfe\xa5\x0a\xd7\xc3u\xf0}F\x90\xd2\xbd\x15\ 1514 | \x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ 1515 | \x00\x00\x01p>\x9f\xed\x1b\ 1516 | \x00\x00\x00`\x00\x00\x00\x00\x00\x01\x00\x00\x06V\ 1517 | \x00\x00\x01q\xc3c\xf6\x07\ 1518 | \x00\x00\x00\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x12\xe5\ 1519 | \x00\x00\x01p>\x95\xa2)\ 1520 | \x00\x00\x00\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x0a\ 1521 | \x00\x00\x00\x00\x00\x00\x00\x00\ 1522 | \x00\x00\x00\xfe\x00\x01\x00\x00\x00\x01\x00\x00 Z\ 1523 | \x00\x00\x01q\xb7\x83F\xb6\ 1524 | " 1525 | 1526 | def qInitResources(): 1527 | QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) 1528 | 1529 | def qCleanupResources(): 1530 | QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) 1531 | 1532 | qInitResources() 1533 | -------------------------------------------------------------------------------- /fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanderson-Magalhaes/Python_Calculator_GUI_PySide2/fa1c47fac2f26f9d6c8199aed58dc72570adec82/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /styles.py: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## STUDY PROJECT BY: WANDERSON M. 4 | ## PROJECT MADE WITH: Qt Designer and PySide2 5 | ## V: 0.1 6 | ## 7 | ################################################################################ 8 | 9 | class style(): 10 | 11 | # MAIN WINDOW 12 | mainWindow = ("""QToolTip { 13 | background: rgb(50, 50, 50); 14 | color: rgb(200, 200, 200); 15 | border: 1px solid rgb(40, 40, 40); 16 | } 17 | QLabel { color: rgb(200, 200, 200); }""") 18 | # BTS TITLE BAR 19 | ############################################################################ 20 | 21 | # BT MINIMIZE ==> NORMAL 22 | bts_title_bar_minimize = (u"QPushButton {\n" 23 | " background-color: transparent; \n" 24 | " background-image: url(:/PNGs/Images/cil-window-minimize.png);\n" 25 | " background-position: center;\n" 26 | " background-repeat: no-repeat;\n" 27 | " border-radius: 10px;\n" 28 | "}\n" 29 | "QPushButton:hover {\n" 30 | " background-color: rgb(45, 45, 45); \n" 31 | "}\n" 32 | "QPushButton:pressed {\n" 33 | " background-color: rgb(25, 25, 25); \n" 34 | " border: 2px solid rgb(255, 0, 127);\n" 35 | "}") 36 | 37 | # BT MAXIMIZE ==> NORMAL 38 | bts_title_bar_maximize = (u"QPushButton {\n" 39 | " background-color: transparent; \n" 40 | " background-image: url(:/PNGs/Images/cil-window-maximize.png);\n" 41 | " background-position: center;\n" 42 | " background-repeat: no-repeat;\n" 43 | " border-radius: 10px;\n" 44 | "}\n" 45 | "QPushButton:hover {\n" 46 | " background-color: rgb(45, 45, 45); \n" 47 | "}\n" 48 | "QPushButton:pressed {\n" 49 | " background-color: rgb(25, 25, 25); \n" 50 | " border: 2px solid rgb(255, 0, 127);\n" 51 | "}") 52 | 53 | # BT RESTORE ==> NORMAL 54 | bts_title_bar_restore = (u"QPushButton {\n" 55 | " background-color: transparent; \n" 56 | " background-image: url(:/PNGs/Images/cil-window-restore.png);\n" 57 | " background-position: center;\n" 58 | " background-repeat: no-repeat;\n" 59 | " border-radius: 10px;\n" 60 | "}\n" 61 | "QPushButton:hover {\n" 62 | " background-color: rgb(45, 45, 45); \n" 63 | "}\n" 64 | "QPushButton:pressed {\n" 65 | " background-color: rgb(25, 25, 25); \n" 66 | " border: 2px solid rgb(255, 0, 127);\n" 67 | "}") 68 | 69 | # BT CLOSE ==> NORMAL 70 | bts_title_bar_close = (u"QPushButton {\n" 71 | " background-color: transparent; \n" 72 | " background-image: url(:/PNGs/Images/cil-x.png);\n" 73 | " background-position: center;\n" 74 | " background-repeat: no-repeat;\n" 75 | " border-radius: 10px;\n" 76 | "}\n" 77 | "QPushButton:hover {\n" 78 | " background-color: rgb(45, 45, 45); \n" 79 | "}\n" 80 | "QPushButton:pressed {\n" 81 | " background-color: rgb(25, 25, 25); \n" 82 | " border: 2px solid rgb(255, 0, 127);\n" 83 | "}") 84 | 85 | # BTS NUMBERS STYLE 86 | ############################################################################ 87 | 88 | # BTS NUMBERS ==> NORMAL 89 | bts_numbers = (u"QPushButton {\n" 90 | " background-color: rgba(45, 45, 45, 50); \n" 91 | " color: rgb(200, 200, 200);\n" 92 | " border-radius: 10px;\n" 93 | "}\n" 94 | "QPushButton:hover {\n" 95 | " background-color: rgba(255, 0, 127, 100); \n" 96 | "}\n" 97 | "QPushButton:pressed {\n" 98 | " background-color: rgba(255, 0, 127, 150); \n" 99 | " border: 2px solid rgb(255, 0, 127);\n" 100 | "}") 101 | 102 | # FUNCTIONS BUTTONS 103 | ############################################################################ 104 | 105 | # BTS FUNCTIONS ==> NORMAL 106 | bts_functions = (u"QPushButton {\n" 107 | " background-color: rgba(35, 35, 35, 15); \n" 108 | " color: rgb(200, 200, 200);\n" 109 | " border-radius: 10px;\n" 110 | "}\n" 111 | "QPushButton:hover {\n" 112 | " background-color: rgba(255, 0, 127, 50); \n" 113 | "}\n" 114 | "QPushButton:pressed {\n" 115 | " background-color: rgba(255, 0, 127, 100); \n" 116 | " border: 2px solid rgb(255, 0, 127);\n" 117 | "}") 118 | 119 | # BTS BACKSPACE ==> NORMAL 120 | bts_backspace = (u"QPushButton {\n" 121 | " background-color: rgba(35, 35, 35, 15); \n" 122 | " background-image: url(:/PNGs/Images/backspace.png);\n" 123 | " background-position: center;\n" 124 | " background-repeat: no-repeat;\n" 125 | " color: rgb(200, 200, 200);\n" 126 | " border-radius: 10px;\n" 127 | "}\n" 128 | "QPushButton:hover {\n" 129 | " background-color: rgba(255, 0, 127, 50); \n" 130 | "}\n" 131 | "QPushButton:pressed {\n" 132 | " background-color: rgba(255, 0, 127, 100); \n" 133 | " border: 2px solid rgb(255, 0, 127);\n" 134 | "}") 135 | 136 | # BTS EQUAL ==> NORMAL 137 | bts_equal = (u"QPushButton {\n" 138 | " background-color: rgba(35, 35, 35, 15); \n" 139 | " color: rgb(200, 200, 200);\n" 140 | " border-radius: 10px;\n" 141 | "}\n" 142 | "QPushButton:hover {\n" 143 | " background-color: rgba(255, 0, 127, 100); \n" 144 | "}\n" 145 | "QPushButton:pressed {\n" 146 | " background-color: rgba(255, 0, 127, 150); \n" 147 | " border: 2px solid rgb(255, 0, 127);\n" 148 | "}") 149 | --------------------------------------------------------------------------------