CN107205238B - Method and terminal for realizing WIFI probe in android system - Google Patents
Method and terminal for realizing WIFI probe in android system Download PDFInfo
- Publication number
- CN107205238B CN107205238B CN201710475932.5A CN201710475932A CN107205238B CN 107205238 B CN107205238 B CN 107205238B CN 201710475932 A CN201710475932 A CN 201710475932A CN 107205238 B CN107205238 B CN 107205238B
- Authority
- CN
- China
- Prior art keywords
- wifi
- probe
- request frame
- android
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The invention provides a method and a terminal for realizing a WIFI probe in an android system, wherein a WIFI probe switch is added in an android architecture layer, WLAN drive is modified, WIFI firmware configuration is updated, a P2P mode compatible with an STA mode is started when an android platform WIFI module works in the STA mode, a group GO mode is started, the WIFI module of an android platform can capture a detection request frame when working in the STA mode, and the WIFI probe function is realized under the condition that the working of the android platform WIFI module in the STA mode is not influenced.
Description
Technical Field
The invention relates to the field of wireless communication, in particular to a method and a terminal for realizing a WIFI probe in an android system.
Background
The working principle of the WIFI probe is that a probe request detection request frame sent by a wireless client is obtained, data in the frame is analyzed to obtain information such as a mac address and signal intensity of the wireless client, and functions such as positioning, distance detection, flow analysis and user number statistics are achieved based on the information. Due to the ease of implementation and functional versatility of WIFI probes, they are being used in more and more fields.
However, the WIFI probe acquires a probe request frame sent by the wireless client, and the WIFI module is required to operate in the AP mode to acquire the probe request frame. The WIFI module in the STA mode can only detect the Beacon frame sent by the AP, so that the WIFI probe function cannot be realized.
At present, the WIFI operating state of an android phone supports 3 modes: STA mode, AP mode, and P2P mode. The STA mode and the AP mode cannot be compatible, so that if a WIFI probe function is required to be realized on the android mobile phone, the WIFI module cannot work in the STA mode; although the P2P mode is compatible with the STA mode, in the P2P mode, the received proberequest frame is discarded and is not recognized by the bottom layer of the android system and uploaded to the service layer, and the WIFI probe function cannot be realized.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the method and the terminal for realizing the WIFI probe in the android system are provided, so that the problem that the WIFI probe function cannot be realized under the condition that the android platform WIFI module works in an STA mode in the prior art is solved.
In order to solve the technical problems, the invention adopts a technical scheme that:
a method for realizing a WIFI probe in an android system comprises the following steps:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
and S7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame.
In order to solve the technical problem, the invention adopts another technical scheme as follows:
a terminal for realizing a WIFI probe in an android system comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein the processor executes the program to realize the following steps:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
and S7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame.
The invention has the beneficial effects that: by adding the WIFI probe switch on the android architecture layer, modifying the WLAN drive and updating the WIFI firmware configuration, a P2P mode compatible with the STA mode is started when the WIFI module of the android platform works in the STA mode, so that the WIFI module of the android platform can capture a detection request frame when working in the STA mode, and the WIFI probe function is realized under the condition that the working of the WIFI module of the android platform in the STA mode is not influenced.
Drawings
Fig. 1 is a flowchart of a method for implementing a WIFI probe in an android system according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a terminal for implementing a WIFI probe in an android system according to an embodiment of the present invention;
description of reference numerals:
1. a terminal for realizing a WIFI probe in an android system; 2. a memory; 3. a processor.
Detailed Description
In order to explain technical contents, achieved objects, and effects of the present invention in detail, the following description is made with reference to the accompanying drawings in combination with the embodiments.
The most key concept of the invention is as follows: and adding a WIFI probe switch on an android architecture layer, creating a frame detection node and updating WIFI firmware configuration in a WLAN driver, and starting a P2P mode compatible with the STA mode to capture a detection request frame.
Referring to fig. 1, the present invention provides a method for implementing a WIFI probe in an android system, including the steps of:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
and S7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame.
As can be seen from the above description, according to the WIFI probe switch and the WIFI probe switch added in the android architecture layer, and the WLAN driver is modified and the WIFI firmware configuration is updated, the P2P mode compatible with the STA mode is started when the WIFI module of the android platform works in the STA mode, so that the WIFI module of the android platform can capture a probe request frame when working in the STA mode, and the WIFI probe function is realized without affecting the working of the WIFI module of the android platform in the STA mode.
Further, the step S2 specifically includes:
an interface is added in a WIFI manager of an android architecture layer to serve as a WIFI probe switch.
According to the above description, the android architecture layer in the prior art does not provide an interface for realizing the WIFI probe function, and the interface is added in the WIFI manager to serve as a WIFI probe switch so as to realize whether the WIFI probe function is executed or not.
Further, the step S3 specifically includes:
judging whether the state under the WIFI normal mode is started, if the state is the starting state, firstly closing the state, and then starting a WIFI probe switch; and if the WIFI probe is in the closed state, directly starting the WIFI probe switch.
According to the description, when the WIFI firmware configuration is updated, only the WIFI is effective after restarting, so that whether the WIFI is started or not is judged before the WIFI probe switch is started, if the WIFI probe switch is started, the WIFI probe switch is firstly closed and then opened, therefore, after the WIFI probe switch is started, if the WIFI is still started, the WIFI is required to be closed again and then restarted, and the time for restarting the WIFI is favorably shortened.
Further, the step S6 further includes:
and calling a CreatGroup interface in an android architecture layer to create a group.
Further, the step S7 specifically includes:
after the detection request frame is identified by the updated configured WIFI firmware, the detection request frame is uploaded to an android kernel from the firmware, and after the detection request frame is detected by a frame detection node in the WLAN driver, the obtained detection request frame is uploaded to a service layer from the kernel through a uevent mechanism.
The above description shows that the transmission of the probe request frame from the kernel to the service layer is realized through the uevent mechanism, which is simple and easy to implement and has little change to the system.
Referring to fig. 2, the present invention provides a WIFI probe terminal 1 implemented in an android system, including a memory 2, a processor 3, and a computer program stored in the memory and capable of running on the processor, where the processor implements the following steps when executing the program:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
and S7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame.
As can be seen from the above description, according to the WIFI probe switch and the WIFI probe switch added in the android architecture layer, and the WLAN driver is modified and the WIFI firmware configuration is updated, the P2P mode compatible with the STA mode is started when the WIFI module of the android platform works in the STA mode, so that the WIFI module of the android platform can capture a probe request frame when working in the STA mode, and the WIFI probe function is realized without affecting the working of the WIFI module of the android platform in the STA mode.
Further, the step S2 specifically includes:
an interface is added in a WIFI manager of an android architecture layer to serve as a WIFI probe switch.
According to the above description, the android architecture layer in the prior art does not provide an interface for realizing the WIFI probe function, and the interface is added in the WIFI manager to serve as a WIFI probe switch so as to realize whether the WIFI probe function is executed or not.
Further, the step S3 specifically includes:
judging whether the state under the WIFI normal mode is started, if the state is the starting state, firstly closing the state, and then starting a WIFI probe switch; and if the WIFI probe is in the closed state, directly starting the WIFI probe switch.
According to the description, when the WIFI firmware configuration is updated, only the WIFI is effective after restarting, so that whether the WIFI is started or not is judged before the WIFI probe switch is started, if the WIFI probe switch is started, the WIFI probe switch is firstly closed and then opened, therefore, after the WIFI probe switch is started, if the WIFI is still started, the WIFI is required to be closed again and then restarted, and the time for restarting the WIFI is favorably shortened.
Further, the step S6 further includes:
and calling a CreatGroup interface in an android architecture layer to create a group.
Further, the step S7 specifically includes:
after the detection request frame is identified by the updated configured WIFI firmware, the detection request frame is uploaded to an android kernel from the firmware, and after the detection request frame is detected by a frame detection node in the WLAN driver, the obtained detection request frame is uploaded to a service layer from the kernel through a uevent mechanism.
The above description shows that the transmission of the probe request frame from the kernel to the service layer is realized through the uevent mechanism, which is simple and easy to implement and has little change to the system.
Example one
The invention provides a method for realizing a WIFI probe in an android system, which comprises the following steps:
s1, creating a frame detection node in the WLAN driver;
s2, adding an interface setWifiStaProbeEnable in a WIFI manager of the android architecture layer to serve as a WIFI probe switch;
s3, judging whether the state in the WIFI normal mode is started or not, if the state is the starting state, firstly closing the WIFI normal mode, and then starting a WIFI probe switch; if the WIFI probe is in the closed state, directly starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, starting a group GO mode, and calling a Creatgroup interface in an android architecture layer to create a group;
the WIFI module receives the probe request frame only in the AP mode and the P2P mode, the AP mode and the STA mode are incompatible, and the P2P mode and the STA mode can work simultaneously without mutual influence, so that the P2P mode can be selected under the condition that the normal use of the WIFI module is not influenced;
the P2P model has two models: GO (group owner) and GC (group client). In the GO mode, the android phone creates a Group as a Group Owner, generates a pin code at random, and broadcasts a Group name beginning with a DIREC-like ssid. A group is created by a WI-FI Direct device that resembles a legacy wireless access point, either when connected to a legacy device or when creating a group that provides a particular service, so that it can receive probe request frames sent by other wireless end devices.
S7, after the detection request frame is identified by the updated WIFI firmware, the detection request frame is uploaded to an android kernel from the firmware, and after the detection request frame is detected by a frame detection node in the WLAN driver, the obtained detection request frame is uploaded to a service layer from the kernel through a uevent mechanism;
s8, after monitoring the detection request frame, the service layer analyzes the detection request frame, acquires information such as mac address, signal strength, time and the like, and provides the information to the application layer;
s9, the application layer processes the received information, including filtering the same mac address, calculating the distance of the target mac address according to the provided signal intensity, and counting the time period of the searched mac address.
Example two
The invention provides a terminal 1 for realizing a WIFI probe in an android system, which comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein the processor executes the program to realize the steps in the first embodiment.
In summary, according to the method and the terminal for implementing the WIFI probe in the android system provided by the present invention, by adding the WIFI probe switch in the android architecture layer, modifying the WLAN driver and updating the WIFI firmware configuration, starting the P2P mode compatible with the STA mode when the android platform WIFI module works in the STA mode, and starting the group GO mode, the WIFI module of the android platform can capture the probe request frame when working in the STA mode, implement the WIFI probe function without affecting the working of the android platform WIFI module in the STA mode, acquire the relevant information in the probe request frame based on the WIFI probe function, and enable the application layer to implement various extended functions based on the information.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all equivalent changes made by using the contents of the present specification and the drawings, or applied directly or indirectly to the related technical fields, are included in the scope of the present invention.
Claims (8)
1. A method for realizing a WIFI probe in an android system is characterized by comprising the following steps:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
s7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame;
the probe request frame is a probe request frame sent by a wireless client;
the WIFI module works in an STA mode;
the step S7 specifically includes:
after the detection request frame is identified by the updated configured WIFI firmware, the detection request frame is uploaded to an android kernel from the firmware, and after the detection request frame is detected by a frame detection node in the WLAN driver, the obtained detection request frame is uploaded to a service layer from the kernel through a uevent mechanism.
2. The method according to claim 1, wherein step S2 specifically includes:
an interface is added in a WIFI manager of an android architecture layer to serve as a WIFI probe switch.
3. The method according to claim 1, wherein step S3 specifically includes:
judging whether the state under the WIFI normal mode is started, if the state is the starting state, firstly closing the state, and then starting a WIFI probe switch; and if the WIFI probe is in the closed state, directly starting the WIFI probe switch.
4. The method for implementing a WIFI probe in an android system of claim 1, wherein the step S6 further includes:
and calling a CreatGroup interface in an android architecture layer to create a group.
5. A terminal for realizing a WIFI probe in an android system comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and is characterized in that the processor executes the program to realize the following steps:
s1, creating a frame detection node in the WLAN driver;
s2, adding a WIFI probe switch on an android architecture layer;
s3, starting a WIFI probe switch;
s4, restarting the WIFI module;
s5, updating the WIFI firmware configuration;
s6, starting a WIFI P2P mode, and starting a group GO mode;
s7, after the frame detection node in the WLAN drive detects the detection request frame obtained by the WIFI module, uploading the obtained detection request frame;
the probe request frame is a probe request frame sent by a wireless client;
the WIFI module works in an STA mode;
the step S7 specifically includes:
after the detection request frame is identified by the updated configured WIFI firmware, the detection request frame is uploaded to an android kernel from the firmware, and after the detection request frame is detected by a frame detection node in the WLAN driver, the obtained detection request frame is uploaded to a service layer from the kernel through a uevent mechanism.
6. The terminal for implementing a WIFI probe in an android system of claim 5, wherein the step S2 specifically includes:
an interface is added in a WIFI manager of an android architecture layer to serve as a WIFI probe switch.
7. The terminal for implementing a WIFI probe in an android system of claim 5, wherein the step S3 specifically includes:
judging whether the state under the WIFI normal mode is started, if the state is the starting state, firstly closing the state, and then starting a WIFI probe switch; and if the WIFI probe is in the closed state, directly starting the WIFI probe switch.
8. The terminal for implementing a WIFI probe in an android system of claim 5, wherein the step S6 further includes:
and calling a CreatGroup interface in an android architecture layer to create a group.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475932.5A CN107205238B (en) | 2017-06-21 | 2017-06-21 | Method and terminal for realizing WIFI probe in android system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475932.5A CN107205238B (en) | 2017-06-21 | 2017-06-21 | Method and terminal for realizing WIFI probe in android system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107205238A CN107205238A (en) | 2017-09-26 |
CN107205238B true CN107205238B (en) | 2020-08-14 |
Family
ID=59907948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710475932.5A Active CN107205238B (en) | 2017-06-21 | 2017-06-21 | Method and terminal for realizing WIFI probe in android system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107205238B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864451B (en) * | 2017-10-26 | 2020-10-30 | 深圳中科爱讯科技有限公司 | Target positioning method and system based on mobile terminal and WiFi probe |
CN108184231A (en) * | 2017-12-07 | 2018-06-19 | 福州汇思博信息技术有限公司 | A kind of method and system for identifying POS terminal |
CN113194409B (en) * | 2021-04-27 | 2022-05-17 | 艾体威尔电子技术(北京)有限公司 | Method for establishing WIFI probe on android device for detection and counting passenger flow |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854310A (en) * | 2009-03-31 | 2010-10-06 | 工业和信息化部电信传输研究所 | P2P controlling unit and method for achieving the same |
CN104796932A (en) * | 2015-03-20 | 2015-07-22 | 四川长虹电器股份有限公司 | Method for building sub-local area network with anti-interference capacity by utilizing single WiFi terminal device |
CN105592491A (en) * | 2015-09-25 | 2016-05-18 | 深圳市美贝壳科技有限公司 | Method for coexistence of AP mode and P2P mode of dual-WIFI module |
CN105721220A (en) * | 2016-03-11 | 2016-06-29 | 北京奇虎科技有限公司 | Intelligent terminal and network bottom configuration method thereof |
CN205537678U (en) * | 2016-01-22 | 2016-08-31 | 上海云充新能源科技有限公司 | Electric automobile fills electric pile seek system based on LBS |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103702175B (en) * | 2013-12-28 | 2017-02-01 | 珠海全志科技股份有限公司 | Multi-screen interactive method and multi-screen interactive device |
US10251179B2 (en) * | 2014-12-01 | 2019-04-02 | Samsung Electronics Co., Ltd. | Method and apparatus for communicating data between station and neighbor access point in communication system |
-
2017
- 2017-06-21 CN CN201710475932.5A patent/CN107205238B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854310A (en) * | 2009-03-31 | 2010-10-06 | 工业和信息化部电信传输研究所 | P2P controlling unit and method for achieving the same |
CN104796932A (en) * | 2015-03-20 | 2015-07-22 | 四川长虹电器股份有限公司 | Method for building sub-local area network with anti-interference capacity by utilizing single WiFi terminal device |
CN105592491A (en) * | 2015-09-25 | 2016-05-18 | 深圳市美贝壳科技有限公司 | Method for coexistence of AP mode and P2P mode of dual-WIFI module |
CN205537678U (en) * | 2016-01-22 | 2016-08-31 | 上海云充新能源科技有限公司 | Electric automobile fills electric pile seek system based on LBS |
CN105721220A (en) * | 2016-03-11 | 2016-06-29 | 北京奇虎科技有限公司 | Intelligent terminal and network bottom configuration method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN107205238A (en) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273263B (en) | Abnormal operation analysis method, application terminal and monitoring server | |
WO2019085079A1 (en) | Interface test method and apparatus, computer device and storage medium | |
US9155026B2 (en) | Systems for facilitating wireless communication and related methods | |
EP3118700B1 (en) | Intelligent home control method and system based on alljoyn technology | |
CN112261635B (en) | Bluetooth testing method and device, electronic equipment and computer readable storage medium | |
CN105100213B (en) | Apparatus bound method and device | |
CN107205238B (en) | Method and terminal for realizing WIFI probe in android system | |
US9918320B2 (en) | Method and apparatus for managing capability of electronic device in wireless communication system | |
RU2009132388A (en) | AGREEMENT OF DOWNLOAD BETWEEN MULTIPLE DEVICES ABLE TO DOWNLOAD | |
WO2019134706A1 (en) | Vehicle diagnostic method, device, apparatus, and system, and connection diagnostic apparatus | |
US20090253444A1 (en) | Method and System for Data Pushing | |
CN109981360B (en) | Internet of things equipment site opening method, device and system and storage medium | |
US10257873B2 (en) | Method and electronic device for providing tethering service | |
WO2015010621A1 (en) | Method and device for obtaining application program power consumption information, and mobile terminal | |
CN102929669A (en) | Embedded software upgrading method, system and device | |
KR102544357B1 (en) | A Electronic Device connected with The Sensors In A Network And A Method For Controlling The Same | |
WO2017201961A1 (en) | Method and device for identifying wi-fi type | |
EP2658304A1 (en) | Setting an Optimal Ping Interval | |
KR102318055B1 (en) | An elelctronic device and a coverrage compensation method for a shortrange communication in the elelctronic device | |
EP3977782A1 (en) | Systems and methods for generating a target hotspot list | |
CN104184768A (en) | Method of transmitting data of Internet of things, device and system | |
CN112927548A (en) | Mechanical garage vehicle taking method and system and storage medium | |
CN111177612B (en) | Page login authentication method and related device | |
CN111817878A (en) | Networking method and device of intelligent equipment and cloud server | |
CN104424198B (en) | Method and device for acquiring page display speed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 201-9, Zone C, No. 18 Guanri Road, Phase II, Software Park, Torch High tech Zone, Xiamen City, Fujian Province, 361000 Patentee after: Fujian Huisibo Digital Technology Co.,Ltd. Address before: No. 89 Software Avenue, Tongpan Road, Gulou District, Fuzhou City, Fujian Province, 350000. 510, Floor 5, 34 #, Zone C, Fuzhou Software Park Patentee before: FUZHOU HUISIBO INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |