Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
1
SRI KRISHNA COLLEGE OF ENGINEERING AND
TECHNOLOGY
(An Autonomous Institution)
(Approved by AICTE and Affiliated to Anna University, Chennai)
ACCREDITED BY NAAC WITH “A” GRADE
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr.N.SUSILA Dr.K.N.Sivabalan.
HEAD OF THE DEPARTMENT SUPERVISOR
Professor Professor
Information Technology, Information Technology,
Sri Krishna College of Engineering and Sri Krishna College of Engineering and
Technology, Technology,
Kuniyamuthur, Coimbatore–641008. Kuniyamuthur,Coimbatore–641008
.
This project report is submitted for the autonomous project viva-voice examination held on
……………………..
2
ABSTRACT
To keep track of information on the books that are currently in the library,
their authors, the library users who are issued books, the library personnel, and
other facts, a technology known as an Online Library Management Application
(OLMA) is utilized. Manually organizing this is quite difficult.The manual
maintenance of all of this data is a very challenging task. Technology
advancements have made it much simpler to manage an online library. To
computerize and automate the procedures used to manage member information,
book issues and returns, and all other operations, the Online Library Management
Application was developed.The computerization of many library upkeep jobs
makes them simpler. The amount of manual labour is minimized, which reduces
the management team's workload. Reading enthusiasts have many difficulties in
their daily lives, such as carrying their books with them and finding the time to
visit libraries. In order to address this issue, we propose this concept of "A Digital
Library Management Application," which is an Android application.The library
management Application objective is to provide a portable virtual library for users.
This programmer offers carefully crafted, logically arranged books in a range of
subject areas. The method used to implement the application is called Flutter.
3
ACKNOWLEDGEMENT
4
TABLE OF CONTENTS
ABSTRACT 3
ACKNOWLEDGEMENT 4
LIST OF FIGURES 5
LIST OF TABLES 6
1 INTRODUCTION 9
1.1 OBJECTIVE
2 LITERATURE REVIEW 11
5
ANALYSIS
6 SYSTEM IMPLEMENTATION 22
6.1 FLUTTER
6.3 FIREBASE
6.4 EMAIL JS
6
LIST OF FIGURES
10.10 My Account 41
7
LIST OF TABLE
TABLE NO TITLE PAGE NO
8
CHAPTER 1
INTRODUCTION
OBJECTIVE
LIBRARY MANAGEMENT APPLICATION
9
encouraged because it saves readers time because they don't need to physically be
in the building; instead, they can access the books online using their phones, so we
design digital libraries. This project is an Android application that almost entirely
satisfies reader needs. This software includes a large number of professionally
processed and organized books. Books are divided into categories based on
languages so that readers may quickly identify their own language and find the
books they want. The app offers the option to "shelf" books, meaning that for ease
of access, books that have been shelved will appear front and centre on the first
page. The app leverages the newest technology, Flutter, for both the Backend and
entire UI. Well-processed data is retrieved from a remote server's storage. This app
also contains e-commerce because users who are interested in reading premium
books have the option of signing up for a paid subscription. The user gets the
impression that they are actually holding books because to the app's simple and
appealing user interface. In conclusion, the project is a library management
application that fulfils the function of a portable virtual library that users may use
at anytime and anywhere while quickly and simply accessing the brand-new
features. Implementing Library Management Application software is the best
approach to systematically maintain, arrange, and handle innumerable books. It
keeps track of the numbers of books in the library, how many are issued, how
many are returned, renewed, or have late fees assessed. With this system, books
may be promptly located, issued or reissued, and all the data can be managed
effectively and efficiently. A library management system's goal is to instantly and
accurately offer information about any type of book, saving a great deal of time
and effort.
10
CHAPTER 2
LITERATURE REVIEW
11
The Enhanced Library Management Application was created to address the
shortcomings of the old system and offer the user a workable solution. It has
certain characteristics that set it apart from other library management application,
such as its three modules:
Admin module,
Librarian module and
Student module.
In this programmer, every module has its own login page. It was created to
effectively oversee a library's everyday operations.
12
The user interface is designed using QT Designer, a Java-based
functionality.
The home window functions will offer the following capabilities,
which are contained in a library database built by My SQL
Workbench:
The student's records, such as name, roll number, branch, semester,
etc., are included in the day-to-day application. It makes it easier for
the staff to locate the books that the students have borrowed and
specifies the precise date by which they must be returned. In a matter
of seconds, this table may issue, re-issue, and locate the list of books
that have been issued.The well-organized Books function provides us
with the ability to add, update, and delete books from the library.
We have convenient tools to add, update, and delete student records
thanks to the Clients/Students feature.The user feature enables the
user to manage the account for the person who can operate this
management application and handle his or her account methodically.
Three categories are available under the settings function: publisher,
categories, and author of the book. In this function, we can keep track
of the genres, author, and publisher of a specific book.The data source
The My SQL Workbench tool that was used in this project is quite
effective and has a user-friendly interface.
13
https://freeprojectscodes.com/liba Ronald compatibility No constraints
ry-management-system-project- Ngoda specifications and network
inphp-with-source-code/ specifications
https://github.com/Anand908/Lib Anand source code Installation
ra ry-Management-System dependencies
https://github.com/prasadlahiru/b Prasad source code Database
rary-Management-System design
https://github.com/prabhakar267/i Prabhakar source code Architectural
brary-management-system Diagram
https://github.com/segunolalive/el segunolalive source code Scripting
loBooks language build/
installation
https://github.com/vinitshahdeo/i vinitshadeo Source code Front-end
brary-Management-System implementation
https://github.com/xeeshansami/i Xeeshana Compatibility App
brary-Management-App specifications configuration
specifications
https://github.com/hasandik/Simp Hasandik source code Installation
le -Library-Management-System- dependencies
Three-Layer-Architecture
https://github.com/enisgjini/biblo enisgjini source code Database
eka design
14
DEVELOPMENT OF LIBRARY MANAGEMENT APPLICATION
Since vendors no longer have the power of owning the Integrated Library
Application software and tying libraries to rigid contracts, they are now more
likely to provide quality service in order to maintain a partnership, according to
libraries that recently switched to open source integrated library application. With
the SC LENDS collaboration, this has been the situation. The South Carolina
States Library, along with a few local public libraries, established the SC LENDS
consortium in order to share resources and take advantage of the Evergreen
Integrated Library Application open source nature to meet their particular needs.
This was done in response to the success of Evergreen for the Georgia PINES
library consortium.
15
CHAPTER 3
SOFTWARE DESCRIPTION
16
CHAPTER4
PROBLEM DESCRIPTIOIN
PROBLEM STATEMENT
• The librarian can be asked for new books to add to the column.
17
• A homepage with several navigational links leading to sites with
information on the date of issue, the date of return, the amount of any fines, etc.
18
CHAPTER 5
MODULE DESCRIPTION
Search
Search engine as its core infrastructure to find and present
information from different data sources.
Security
A security model is a computer model which is used to identify
and impose security policies. It does not require any prior formation it
may be founded on the access right model or distributing
computing model or computation model.
Borrow item
For each member who borrows a book, the system stores book
ISBN, user ID, date issued, date due to return, date returned.
Again, all borrowing data should be stored into a separate file.
Also the number of available copies for that book should be
decremented. A member can not borrow more than 2 books at a
time.
Return item
When a user return a borrowed book back to the library, the
entry for his borrowing action must be updated with the date
returned. Also for book entry; the number of available copies of
the book must be incremented.
Report
19
A report is a highly structured piece of writing, designed so that
it can be read quickly, easily and accurately. Reports have clear
structures which make them easy to read; it is important that
you ensure that your report is easy to read as reports are not
necessarily read in consecutive order.
Item management
Any book can have multiple copies, each copy will be
considered a book item in our system. Each book item will have
a unique barcode.
Member management
All members can search the catalog, as well as check-out,
reserve, renew, and return a book.
Author management
This class will encapsulate a book author.
Publisher management
Department management
A Departmental Library may be defined as a subject
collection in an academic institution, housed either in a
separate room of the main Library or in some building
outside the main Library and administered either as a part of
20
a centralized Library system or as a part of the academic
department it serves.
Section management
The Section on Management of Library Associations includes
dynamic leaders from library associations who seek to advocate
for the interests, aspirations and concerns of the library
associations represented among IFLA members.
Topic management
Management refers to series of functions for the organization
and administration of various activities and people in the
organization. Management is essential for all types of
organization and libraries are no exception.
Shelf management
Shelf is when you read every call number on a shelf to ensure
that it is in the proper order.
21
CHAPTER 6
SYSTEM IMPLEMENTATION
FLUTTER
Flutter is an open source framework by Google for building beautiful,
natively compiled, multi-platform applications from a single codebase.
GOOGLE API
Cloud APIs allow you to automate your workflows by using your favorite
language. Use these Cloud APIs with REST calls or client libraries in popular
programming languages.
FIREBASE
Firebase is an app development platform that helps you build and grow apps
and games users love. Backed by Google and trusted by millions of businesses
around the world.
22
Fig 6.2 Authentication for email verification and update.
EmailJS:
23
FLUTTER PACKAGES USED
flutter_svg: ^1.1.6
firebase_auth: ^4.1.0
firebase_core: ^2.1.1
flutter_launcher_icons: ^0.10.0
google_sign_in: ^5.4.2
provider: ^6.0.4
flutter_bloc: ^8.1.1
shared_preferences: ^2.0.15
location: ^4.4.0
flutter_polyline_points: ^1.0.0
google_maps_flutter: ^2.2.1
url_launcher: ^6.1.6
geocoder2: ^1.4.0
http: ^0.13.5
google_fonts: ^3.0.1
drop_cap_text: ^1.1.3
firebase_messaging: ^14.0.4
flutter_rating_bar: ^4.0.1
24
CHAPTER 7
EXISTING APPLICATION
To find out the book's status, students must visit the library. In the
event that the book is unavailable, the student will place an advance reservation.
That function is broken in the current application because a student can use the
advance booking option for the same book once, twice, or more, and the person
25
who already owned the book can also utilize the functionality. The library is the
only place where students can find out the status of a book if they wish to.
Currently, the entire procedure is managed manually. This necessitates keeping
track of the questions submitted by the students in the paper.
PROPOSED SYSTEM
26
CHAPTER 8
CONCLUSION AND FUTURE ENHANCEMENT
CONCLUSION
This study has highlighted the significance of digitization in today's
libraries. The library must offer digital services and content if it is to survive
today's difficulties ways to expand access to the library's resources and conduct
information searches. It is crucial for library directors. The mobile library app is an
additional and significant element that makes use of mobile technology to simplify
and improve access to library resources by offering support in a variety of ways
through services and connectivity.
FUTURE ENHANCEMENT
Future plans for this facility include the addition of many more features,
including the ability for teachers to add online lectures and video tutorials, as well
as the ability for students to submit assignments online. Another feature that could
be added is a group chat feature where students could discuss a variety of
engineering-related topics, making the project more interactive and better able to
meet the needs of each user.
27
APPENDICES
APPENDIX1
SOURCECODE
main.dart:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:miniproject/auth_controller.dart';
import 'package:miniproject/colors.dart';
import 'package:miniproject/screens/SignUp/sign_up_screen.dart';
import 'package:miniproject/screens/login.dart';
import 'package:miniproject/splash_screen.dart';
import 'package:miniproject/welcome_screen.dart';
import 'package:get/get.dart';
import 'package:location/location.dart';
Future<void>main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp().then((value)=>Get.put(AuthController()));
runApp(const MyApp());}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {return GetMaterialApp(
debugShowCheckedModeBanner: false,
title: 'Bibliographic Repository', theme: ThemeData(fontFamily:
'AlbertSans',primaryColor: kPrimaryColor,scaffoldBackgroundColor:
Colors.white, ),
home: SplashScreen(), ); }}
28
welcome page :
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:miniproject/background.dart';
import 'package:miniproject/colors.dart';
import 'package:miniproject/screens/SignUp/sign_up_screen.dart';
import 'package:miniproject/screens/login.dart';
import 'background.dart';
import 'components/rounded_button.dart';
class Body extends StatelessWidget {
const Body({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;return Background(
child: SingleChildScrollView( child: Column(mainAxisAlignment:
MainAxisAlignment.center, children: [ const Text( 'Are We Curious ?', style:
TextStyle(fontWeight: FontWeight.bold,
fontSize: 30,color: kPrimaryColor,),),SizedBox(height: size.height*0.03,),
SvgPicture.asset('assets/icons/chat.svg',height: size.height*0.4,),
SizedBox(height: size.height*0.05,),RoundedButton(text: "LOGIN",press: (){
Navigator.push(context,MaterialPageRoute(builder: (context){return
LoginScreen();},),);},),
RoundedButton(text: "SIGN UP",color: kPrimaryLightColor,
textColor: Colors.black, press: (){
Navigator.push(context, MaterialPageRoute(builder: (context){ return
SignUpScreen();},),), },),],),),);}}
29
first_page :
import '../auth_controller.dart';
/*class FirstPage extends StatelessWidget {
const FirstPage({Key? key}) : super(key: key);@override
Widget build(BuildContext context) {return Container(child:
ElevatedButton(onPressed: () async {
AuthController.instance.logOut();
SharedPreferencessharedPreferences = await
SharedPreferences.getInstance();//sharedPreferences.remove('email');
sharedPreferences.clear();//Get.to(WelcomeScreen());
Navigator.pushReplacement(context, MaterialPageRoute(builder: (_){
return WelcomeScreen();}));},child: Text('Log out'),),); }}*/
class FirstPage extends StatelessWidget {const FirstPage({Key? key}) : super(key:
key); @override
Widget build(BuildContext context) {Size size = MediaQuery.of(context).size;
return Scaffold(backgroundColor: Color.fromRGBO(244, 243, 243, 1),
appBar: AppBar(backgroundColor: kPrimaryColor, elevation:
0,//brightness?:Brightness.lighttitle: Container(
width: size.width*0.1,child: Image.asset('assets/icons/logo.png'),),
actions: [ElevatedButton(onPressed: () async{
AuthController.instance.logOut();
final SharedPreferencessharedPreferences = await
SharedPreferences.getInstance();sharedPreferences.clear();
Get.to(WelcomeScreen());},child: Text('Log Out'), style:
ElevatedButton.styleFrom(
backgroundColor: kPrimaryColor,),),],), body: SingleChildScrollView(
30
child: SafeArea(child: Column(
mainAxisAlignment: MainAxisAlignment.center, children: [
Padding(padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 25),
//child: Text('EXPLORE YOUR CURIOSITY!', style: TextStyle(fontWeight:
FontWeight.bold, color: kPrimaryColor, fontSize: 30.0),),child: Column(
mainAxisAlignment: MainAxisAlignment.start, children: [
Text('Explore your',style: TextStyle(color: Colors.black87, fontSize: 25),),
SizedBox(height: 5,),
Text('CURIOSITY!',style: TextStyle(color: Colors.black87,fontSize: 40,
fontWeight: FontWeight.bold),), //SizedBox(height: 20,),],),),
SizedBox(height: size.height*0.005,),
Container(height: size.height, child: Column(
children: [GridView.count(
scrollDirection: Axis.vertical,shrinkWrap: true,crossAxisCount: 2,
//scrollDirection: Axis.vertical, //crossAxisSpacing: size.height*0.002, children: [
promoCard('assets/images/books.png','View Books',(){Get.to(() =>
Catalogue());}),
promoCard('assets/images/location.png','Location',(){Get.to(()
=>LocationScreen());}),//promoCard('assets/images/bookshelf.png','My
shelf',(){Get.to(()
=>LocationScreen());}),//promoCard('assets/images/qrCode.png','Scan
QR',(){Get.to(() =>LocationScreen());}),
promoCard('assets/images/hashtag.png','My Account',(){Get.to(()
=>addBooks());}),
promoCard('assets/images/message.png','Contact Us',(){Get.to(()
=>EmailQuery());}),],),
SizedBox(height: size.height*0.005,),
31
GestureDetector(
onTap: (){Get.to(() =>AboutUs());},child: Container(height: 140, width:
double.infinity, margin: EdgeInsets.all(15.0), decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), color: kPrimaryLightColor,),
child: Row(crossAxisAlignment: CrossAxisAlignment.center,
children: [Padding(padding: const EdgeInsets.only(left: 40.0),child: Container(
width: 100, height: 200, decoration: BoxDecoration(image: DecorationImage(
image: AssetImage('assets/images/informative.png'), fit: BoxFit.cover,),),),),
Text('About Us', style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 30,),),],),), )],),),], ),),),);}}
Widget promoCard(image,text,press){
return AspectRatio(
aspectRatio: 2.6/3,
child: GestureDetector(onTap: press,
child: Container( margin: EdgeInsets.all(10.0),
padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 7.0),
decoration: BoxDecoration( //border: Border.all(color: kPrimaryColor,
width: 1), color: kPrimaryLightColor,
borderRadius: BorderRadius.circular(20), image: DecorationImage( image:
AssetImage(image),),),
child: Align(alignment: Alignment.bottomCenter,
child: Padding(padding: EdgeInsets.only(bottom: 3.0),
child: Text(text,style: TextStyle(color: Colors.black87, fontWeight:
FontWeight.bold, fontSize: 15),),),),), ),);}
32
view books :
/*import 'package:biblio/add_books.dart';
import 'package:biblio/all_topic1.dart';
import 'package:biblio/API_services.dart';
import 'package:biblio/articles.dart';
import 'package:biblio/books.dart';
import 'package:biblio/borrowPage.dart';
import 'package:biblio/catalogue.dart';
import 'package:biblio/lists.dart';
import 'package:biblio/main.dart';
import 'package:biblio/main_page.dart';
import 'package:biblio/question.dart';
import 'package:biblio/recommended.dart';
import 'package:biblio/search.dart';
import 'package:biblio/Usermodel.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/src/widgets/basic.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:flutter/gestures.dart';*/
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:intl/intl.dart';
import 'package:miniproject/screens/view%20books/question.dart';
import 'package:miniproject/screens/view%20books/recommended.dart';
33
import '../../colors.dart';
import 'all_topic1.dart';
import 'articles.dart';
import 'main_page.dart';
class Catalogue extends StatefulWidget {@override
State<Catalogue>createState() => _CatalogueState();}@override
class _CatalogueState extends State<Catalogue>
with SingleTickerProviderStateMixin {
TabController? _tabController;
@override void initState() {
super.initState(); _tabController = TabController(length: Tabs.length, vsync: this);
} List<Tab> Tabs = [
Tab( child: Text("All", style: TextStyle(fontWeight: FontWeight.bold, color:
text_color))),Tab(child: Text("Recommended", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),
Tab(child: Text("Articles", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),
Tab( child: Text("Question Papers", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),];
List<Center> _views = [const Center(child: const Text('Content of Tab One')),
const Center(child: const Text('Content of Tab Two')),
const Center(child: const Text('Content of Tab Three')),
const Center(child: const Text('Content of Tab Four')),];
Widget build(BuildContext context) { var size = MediaQuery.of(context).size;
var height = size.height; var width = size.width;
return SafeArea( child: Scaffold(
backgroundColor: kPrimaryLightColor, body: Column(
34
children: [Stack(children: [
Positioned( top: 20, left: 20, child: GestureDetector(
onTap: () {Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (BuildContext context) => Topic1())); },
/*child: Text("Discover Latest Books", style: TextStyle( color: text_color,
fontWeight: FontWeight.bold,
fontSize: 20))*/ child: Row( children: [
SizedBox( width: size.width*0.9, child: TextField( enabled: false,decoration:
InputDecoration(border: OutlineInputBorder(
borderRadius: BorderRadius.circular(60.0),),
fillColor: Colors.white, filled: true, //border: InputBorder.none,
prefixIcon: Icon(Icons.search, color: Colors.black,),
hintText: "Discover Latest Books",
hintStyle: TextStyle(color: Colors.black),
),),),],),)),
Positioned( child: Container( margin: EdgeInsets.fromLTRB(20, 60, 20,
30),),),]),
DefaultTabController( length: Tabs.length, child: TabBar( controller:
_tabController,labelColor: text_color,unselectedLabelColor: k_prime_color,
indicatorColor: k_prime_color,isScrollable: true, tabs: Tabs,)),
Expanded( child: TabBarView( controller: _tabController, children: [
main_page(),recommended(),articles(),question(),],),),],),),);}}
35
google sign in :
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:miniproject/pages/first_page.dart';
import 'package:miniproject/welcome_screen.dart';
class AuthService{handleAuthState(){return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),builder: (BuildContext
context, snapshot){if(snapshot.hasData){ return FirstPage();}
else{return WelcomeScreen();}});}
signInWithGoogle() async{final GoogleSignInAccount? googleUser = await
GoogleSignIn(scopes: <String>["email"]).signIn(); final
GoogleSignInAuthenticationgoogleAuth = await googleUser!.authentication;final
credential = GoogleAuthProvider.credential(accessToken:
googleAuth.accessToken,idToken: googleAuth.idToken,);return await
FirebaseAuth.instance.signInWithCredential(credential); }
signOut(){FirebaseAuth.instance.signOut();}}
36
APPENDIX2
SCREENSHOTS
37
fig 10.3 Sign up fig 10.4 Location
38
fig 10.5 Main Portal fig 10.6 View Books
39
fig 10.7 Borrow Books fig 10.8 About Us
40
fig 10.9 Contact Us fig 10.10 My Book Shelf
41
REFERENCES
https://www.smartlibrarysoftware.com/smartlib-library-
managementsoftware-modules.php
https://www.upgrad.com/blog/librarymanagement-system-project-in-java/
https://github.com/aragon996/Library-Management-System---PHP-MySql
Bao Sun, JiangweiFeng and Ling Liu, “A Study on How to Construct the
Prediction Model of Library Lending of University Library”, International
Conference on Information Science and Technology March 26-28, 2011
Nanjing, Jiangsu, China.
Barve, S., &Dahibhate, N. B.,“Open source software for library
services”,DESIDOC Journal of Library & Information Technology,
32(5)(2012). Journal of Xi'an University of Architecture &
TechnologyVolume XII, Issue XI, 2020ISSN No : 1006-7930
Bretthauer, D. “Open source software in libraries. Library Hi Tech News, 18
(5), 8-9(2001).
Erxiang Chen,Minghui Liu,“Research and Design on Library Management
System Based on Struts and Hibernate Framework”, WASE International
Conference on Information Engineering2009.
HonghaiKan,Zhimin Yang, Yue Wang, Nana Qi, “Research on Library
Management System for CDs Attached to Books Based on Cloud
Computing”, in Proceedings of the 14th International Conference on
Computer Supported Cooperative Work in Design 2010.
JianhuZheng, YunqingFeng, Yun Zhao, “A Unified Modeling Language-
Based Design and Application for a Library Management Information
System”, in cybernetics and information technologies.
42
Michael Hitchens, Andrew Firmage,“The Design of a Flexible Class Library
Management System”, in IEEE conference1998.
WeihongYang,“Design and Implementation of Library Management
System”, International Conference on Management Science and Innovative
Education (MSIE 2015).
43