| See/Lane Installation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Diversity of License Plate Recognition - Article in Security Solutions (APRIL) (PDF) ESTATE Access control via LPR & Facial Verification LPR linked to Facial OPTIONS (ZIP PPT) User manual (PDF) License Plate Recognition Products SeeCAR Product LINE (PDF) V-Metrics (PDF) SeeLane License Plate Recognition A Fully-Integrated Multi-Lane LPR System (PDF) Facial Products Facial SDK (PDF) Discovery (PDF) Facial linked to LPR |
Table of Contents 1. Purpose & Scope *2. Referenced Documents *3. Overview *
4. See/Lane major elements *
5. Mechanical Installation *
6. Hardware Installation *
7. Software installation *
8. See/Lane setting *
9. Optimization and Trouble Shooting *
10. Support and more Information *This document provides installation information on See/Lane, a powerful Windows application that is used to identify cars on a traffic lane or serve as an access-control/parking system. This system is based on the See/Car Vehicle License Plate Recognition (LPR) software, which is used as a DLL and is integrated into the system. The description in this document applies to See/Lane version 3.0 and higher and has been updated for See/Lane version 4.0.
These documents are available in our home page, see last section for details. 3. Overview 3.1. Product description See/Lane is a sophisticated image processing system that tracks the cars’ plates, reads and identifies their numbers. The identified number is displayed on the system display, and can be transferred to an external computer (via RS232 line) or to other Windows applications (via DDE message). The image file can also be saved on disk. It can be placed at the side of a traffic lane or gate or in any other location that requires automatic identification. Each unit can control one to six lanes.
3.2. System Architecture See/Lane is a turnkey system comprises of the following elements: Figure 3.2: See/Lane Architecture Two typical installations are shown in the following illustrations. They differ only in the fact that the access-control application has an additional gate that is opened by the application.
Figure 3.3: Traffic lane illustration
Figure 3.4: Access control illustration
3.3. Installation Document overview This document is structured as follows: Section 4 - provides an overview and definitions for the system Section 5 - describes the physical/mechanical installation Section 6 - describes the hardware installation (with the PC shut down) Section 7 - describes the software and driver installation (PC powered up) Section 8 - details the SeeLane setting Section 9 - provides some trouble shooting and optimization tips
4.1. Hardware SCH - See/Car/Head illumination/camera unit IO - I/O card TBL - Terminal block for I/O card (comes with a cover and connecting cable) FG - Frame grabber (2 types are supported: the default board which is a 6 lane RIO frame grabber, or single lane VFW frame grabber) PS - power supply for SCH (a special 15 VDC, 110-220VAC power supply is used which was qualified to operate with the SCH unit) DET - Vehicle detector (sensor). This document assumes that the sensor is provided by Hi-Tech Solutions, although any standard dry-contact sensor will fit. HASP License Plug - connected to the PC, provides run-time license rights
4.2. Software See/Lane - Windows application (with all the See/Car components, including DLL). Cars.txt - file with authorized vehicles (sample is provided in the software package)
4.3. Computer PC : The PC is normally supplied by the customer.
Windows - Supplied by the customer and installed on the PC. (98/NT/2000). Win95 is not recommended anymore due to possible conflicts on new motherboards.
4.4. Connection Diagram and Scope of Supply An overall diagram of a multiple-lane access-control system is shown in the following figure. It shows all the connections of a typical system, and also indicates the scope of supply. Note that the orange-colored wires and boxes are supplied within the SeeLane system supply, while the installer supplies the black-colored items.
The Hardware installation section details these connections.
5.1. Overview This section describes the mechanical/physical installation: Section 5.1 See/Car head installation Section 5.2 Detector installation A single lane configuration installation is assumed (more lanes will follow the same procedure).
5.1.1. Installation Assumptions The following lens are assumed: 12mm lens for European type plates (reflective plates with about 50 cm width) 16mm lens for USA type plates (reflective plates with about 30 cm width) This will be referred as "standard lens" installation. Non-standard installations might be required for the following cases: Non reflective plates (illumination is critical so installation ranges are smaller) USA size-plates using 12mm lens Special gate requirements (might require smaller lens for closer ranges, or larger lens for longer distances) 5.2. See/Car Head installation 5.2.1. Height of See/Car/Head 5.2.1.1. Typical Heights For most installations, install the See/Car/Head (SCH) on a pole or tripod at a recommended height of 1.1 meters (or within 1m-1.2m). This height optimizes the performance and positions the camera to look downwards in order to minimize the sun effect – since most plates are mounted at a height of 0.20 to 1.25 meters. The SCH is screwed to the pole using 2 screws. The SCH upper hole allows some degree of rotation left/right. Note that the drilled holes on the pole might need to be slightly rotated in order to level the plate in the camera image. It is recommended to start with one hole only, and drill in the second hole after the installation is complete.
5.2.1.2. Higher installations The maximum height is 3 meters. In this case the camera angle should be positioned such that the center of the vertical field of view will be looking at the trigger area. For higher installations please consult with Hi-Tech Solutions.
5.2.1.3. Wall mounting In case of a wall mounting, secure the See/Car/Head to the wall at the same height.
5.2.1.4. Anti-Vandalism Enclosure In case the See/Car/Head Anti-Vandalism Enclosure is ordered, install the metal case on the floor.
5.2.2. Distance from barrier – Front Plate This paragraph refers to installation of the camera in the front of the vehicle. 5.2.2.1. Along the traffic lane Install the pole/wall/enclosure 2.5 Meters for standard lens (or 1.25M for non-reflective plates, or US size plates with 12mm lens) behind the barrier, in the direction of traffic, at the side (as near as possible to the lane). See the illustration below, parameter B. This corresponds to 5 meters for standard lens (or 3.5M for US size plates with 12mm lens, or for non-reflective plates) from the line of the detection of the front of the car (parameter A). The following diagram shows this setup (for an access control system).
The images will be captured from the line of detection plus additional 0.5M-1M until the car stops. At the stop position it is recommended that the plate will still be visible so in case the recognition fails the plate at its stationary state will still be visible. A possible problem that may be encountered during this installation is that the barrier blocks the effective recognition view zone (This zone is the area from the start of detection plus addition 1-1.5 meters, where the vehicle finally stops). In most gates the barrier’s height is 0.80 to 1.20 meters so this case will not occur – but in any case it should be tested and avoided.
5.2.2.2. Side of the Traffic lane Install the SCH as close as possible to the traffic lane, within 0.0 to 0.5 meters. See the illustration above, parameter C. This can be constructed on both sides of the traffic lane. 5.2.3. Distance from barrier – Rear Plate The installation of the camera/illumination unit in the rear of the car is possible and may occur in the following cases: A front installation is not possible due to traffic lane limitations (such as the front is located in a public area where no installation is permitted) There are only rear plates (such as in the United States in several states) An additional recognition is desired in order to increase the recognition coverage (a dual camera per lane installation - which is supported in SeeLane version 3) In this case the detector should be defined in SeeLane settings (see next section) as active when the vehicle leaves the detection zone ("Normally Closed"). This also can be arranged by selecting the normally closed outputs of the loop detector. This is since the proper point of starting the images capturing is when the rear of the car leaves the detection line – in order to avoid the effect of the length of the car. The SCH unit should be installed at 4 meters from the loop detection line for standard lens (or 3M for US size plates using 12mm lens, or for non-reflective plates). See the illustration above, parameter B. This translates to about 9 meters or more from the front of the car (for standard lens) since a typical vehicle is about 4 meters. The side distance (parameter C) in this installation is identical – 0.0 to 0.5 meters. 5.2.4. Distance from barrier – Dual Camera per lane A special license option configures the SeeLane application to operate in dual camera per lane (also called "Stereo" mode). In this mode 2 cameras are used to recognize the car, thus increasing the recognition rate. The application uses special logic that takes both results in consideration before sending the car plate number. This mode shares a single sensor per lane to initiate the recognition process. A typical installation using this mode will be cameras looking at the front and rear plates. The SeeLane software setting could be set to two methods of sensing: Separate activation: Activating the front camera at the rise of the sensor signal and activating the rear camera at the fall of the sensor signal. (The result will be sent out only after the car leaves the sensor). This mode is usually not applicable for installations with gates since the vehicle must leave the sensor detection area in order to end the recognition cycle. The installation procedure is identical for installing front and rear plates as described in the previous paragraphs. Shared activation: Activating both cameras at same time. (The result will be sent out after the car enters the sensor detection). The installation procedure is identical for installing front and rear plates as described in the previous paragraphs, but in this case the rear-plate camera should be positioned according to typical lengths of cars. Alternatively, the cameras can be located both at front or rear but at both sides of the lane. This mode is illustrated in the following illustration. The typical values are A front = 5 meters and A rear = 9 meters for standard lens, or Afront= 3.5 and Arear=7.5 meters for non-reflective (or USA plates using 12mm lens).
The "Stereo" mode can also be implemented by configuring 2 standard lanes and using one or two detectors. Please consult with Hi-Tech Solutions on the installation instructions.
5.3.1. Loop Detector
1st. Read the detector’s installation guide before installation. 2nd. Install the detector (DET) loop at about 5.5m (or 4.5m for non-reflective plates) from the SCH, on the other side of the barrier (where the vehicle approaches the barrier). See front-installation illustration, parameter A. 1st. The loop should be 2m wide, 1m long, 4 turns at least (see note below) placed in the middle of the lane. 2nd. Connect the loop to the detector by twisted pair as required by the manufacturer. 3rd. The detector’s plug connects to the I/O card (this is explained below). 4th. Detector Setup (in case of Nortech type): 1. Use channel 1 of the sensor 2. Freq. Set to M-L 3. Sensitivity set to D (Normal) 4. Mode set to 1 (presence) 5th. Push reset button once after power up (with no vehicle on the loop). 6th. Use normally Open contacts for output (10,11). Note: In some installations a different loop configuration should be used in case of a bumper to bumper line of moving cars. Please consult with us on solutions for this case.
5.3.2. Other Detectors You can use other types of dry-contact sensors. The requirement is that the contact will be made continuously during the presence of the vehicle, and without multiple contacts (such as caused by the wheels for pressure type detectors).
This section covers the hardware installation. Note that all the next steps will be performed with the PC powered off.
6.1. See/Car/Head
6.2. Frame Grabber
1st. Insert the frame grabber (FG) into a PCI slot. Don’t power up the PC yet. 2nd. Connect the coaxial cable from SCH to the FG (a BNC plug). 3rd. Use the supplied BNC connector to connect to the BNC cable: either the SMB to BNC connector (for the RIO frame grabber), or the BNC female RCA male (for the VFW frame grabber). Note that the SMB connector and wire is delicate - please handle it with care. 4th. Try to minimize the distance from the cameras to the frame grabber (and PC) as much as possible. Recommended distances to all the SCH is about 4-5meters (as our supplied cable) up to 30-40meters. 6.3. I/O Card and TBL We currently supply two sets of I/O cards and TBL terminal blocks - ISA or PCI. Both are supported by See/Lane, which automatically senses the type of the card (only on version 4.0 and higher). There are several sets shipped:
Each of these sets are detailed below:
6.3.1. ISA BUS set
G. The I/O card is limited to 4 lanes (4 X 2 outputs). If more than 4 lanes is used you can share the illumination outputs (such as lane 4 and lane 5).
6.3.2. PCI BUS set with ADAM-3968 The PCI BUS set consists of the I/O board (PCI-1751), flat cable of 68 pins, ADAM-3968 terminal block (TBL) with a series of screws, and a cover box. Since there are no status leds on the TBL an I/O status display was added on the See/Lane application.
6.3.3. PCI BUS set with TBL 6822
This PCI BUS set consists of the I/O board (PCI-1751), flat cable of 68 pins, TBL-6822 terminal block (TBL) with a series of screws and leds, and a cover box.
The connections are similar to the TBL 22 board:
G. The I/O card is limited to 4 lanes (4 X 2 outputs). If more than 4 lanes is used you can share the illumination outputs (such as lane 4 and lane 5).
6.4. Gate control In case of a gate control, the TBL is connected to a relay that interfaces the gate. Use a 5VDC 20ma max standard relay (such as Nais TX-S Relay series - TXS1L5V), and connect its activation coil to:
6.5. Software and Driver installation Now the software installation steps will be required in order to complete the installation, as described in the next section.
This section covers the software and drivers installation. It assumes that the hardware units were already inserted into the computer slots (as covered by the previous section) and the PC is yet shut down.
Note: The software installation is automated in some Country Releases by an automatic installation program. The text below assumes that the installation program is not yet released for your country and a manual installation is required.
7.1. Power up the PC Power up the PC. Wait until the Windows operating system boots up. It will notify that a new card has been detected. Only the frame grabber board is plug & play type card, so it will only detect its presence.
7.2. Frame grabber Driver The following text assumes the 6-lane RIO frame grabber. Following the Windows driver request, install the frame grabber driver that is supplied within the frame grabber package, or on the SeeLane release CD (This is included in the \driver subdirectory. There are several frame grabber directories - select the proper directory which is RIO in this case) 7.2.1. Installing under Windows 95/98
CD-ROM into the CD-ROM drive.
installation floppy disk or Rio CD-ROM.
7.2.2. Installing under Windows NT
CD-ROM into the CD-ROM drive.
7.2.3. Testing the installation After installation from Windows 95/NT, the Rio Frame Grabber can be used with the RioWin windows application, to start grabbing. Alternatively, running the SeeLane application as described later could also perform this test.
7.3. I/O card driver - ISA bus boards If you have a PCI BUS I/O card, skip to the next section. Since the PCL-724/731 I/O card is not a plug & play type card, you need to initiate its installation. A CD is included in the IO card box. 7.3.1. PCL-724/731 Driver Installation Place the I/O card CD in your CD-ROM Device, then its setup application will automatically activate. Now click the drivers option, then click your operating system option (95/98/NT), then follow the setup instructions. After this installation you need to run the device installation under the Windows operating system, as follows.
7.3.2. PCL-724/731 Device configuration
start -> programs -> Advantech Drivers -> Device installation.
I. Hit OK to exit this window and exit the device installation program. J. The I/O card device is ready for use.
7.3.3. Testing the installed PCL-724/731 IO card 7.3.3.1. Test with See/Lane Running the See/Lane application (this will be described in following sections) can test the IO card. The initial state of the leds on the TBL should be as follows when the application starts to run:
You can also get an I/O status display by hitting the double-arrow icon (See/Lane version 4.0 and higher). An example for PCL-731 is shown: Figure 7.3.1: I/O status display (version 4.0 and higher on PCL-731)
7.3.3.2. Test with driver test program Another test program is provided with the installed device driver: the device self test. Select the device self test using the following Windows options: start -> programs -> Advantech Drivers -> Device Test
This self test allows you to set each output and see its affect on the TBL leds. It also allows to test the state of the input (high or low for each input). Use this test to verify the proper installation of the I/O card.
7.3.3.3. If the tests fail If this fails, uninstall and re-install the drivers and device. Additionally, check for base address conflict on your Computer. You can select another base address; check with the board manual how to change the base address. The base address should be changed both on the driver setup and the board switches. If the problem persists, change operating system and/or computer.
7.4. I/O card driver - PCI BUS boards The PCI-1751 I/O card is a plug & play board and is easier to install. 7.4.1. PCI-1751 Driver Installation Place the I/O card CD in your CD-ROM Device, then its setup application will automatically activate. Now click the drivers option, then click your operating system option (95/98/NT), then follow the setup instructions. After this installation you need to run the device installation under the Windows operating system, as follows. 7.4.2. PCI-1751 Device configuration
start -> programs -> Advantech Drivers -> Device installation. Figure 7.4: device installation main screen
Figure 7.5: device installation - PCI-1751 selected
I. Hit OK to exit this window and exit the device installation program. J. The I/O card device is ready for use.
7.4.3. Testing the installed IO card 7.4.3.1. Test with See/Lane Running the See/Lane application can test the IO card. The initial state of the I/O can be seen on the I/O status display of See/Lane, which can be selected by hitting the double-arrow icon: Figure 7.7: I/O status display on See/Lane (version 4.0 +) Note that you should hit F2 (or change an input) on the first time in order to get the proper status as above:
7.4.3.2. Test with driver test program Another test program is provided with the installed device driver: the device self test. Select the device self test using the following Windows options: start -> programs -> Advantech Drivers -> Device Test
This self test allows you to set each output and see its affect on the TBL leds. It also allows to test the state of the input (high or low for each input). Use this test to verify the proper installation of the I/O card.
7.4.3.3. If the tests fail If this fails, uninstall and re-install the drivers and device. If the problem persists, change operating system and/or computer.
The license plug (HASP) dongle requires an additional installation. Install its driver that is included in the \driver\Hasp directory: run the hdd32.exe installation application. Additionally, insert the dongle to the printer (parallel) port.
7.6. Prepare the SeeLane directory 7.6.1. See/Lane Directory Make a SeeLane directory in your hard disk. Copy the See/Lane release directory files to your disk. Note: If you have a different frame grabber than the default RIO 6-lane frame grabber, copy the suitable seelane.exe from the child directory according to the appropriate frame grabber (such as VFW).
7.6.2. Short-Cut and Startup Create a shortcut icon on the Windows desktop for convenience. You can also add the SeeLane to the startup menu.
7.6.3. See/Lane Client You can also copy the SeeLaneClient application to the same directory. The Client application intercepts the DDE messages and saves them onto a log file. You can also make your own application to intercept the messages.
7.6.4. Simulation Note that the software package also contains a simulation of the See/Lane application, which can be used to practice the operation of the program and assist in the software integration. This copy can also be copied to a different directory.
7.7. Power up the See/Car/Head
8. See/Lane setting This section describes how to set the See/Lane application for best results. It assumes that all software, hardware and drivers are already installed - as covered by the previous sections. 8.1. See/Lane setting Activate See/Lane from desktop. After a graphic banner is displayed for about one second, you will get the main screen as in the following picture: Figure 8.1 : See/Lane Main window upon first entry The following pages contain descriptions of the various settings (under Application/settings option). Note that the SeeLane application is shipped with a default setting, which fits most of the applications. In case you would like to resume to the factory settings, please rename the config.dat file and a new configuration file will be created on the next run of the application. Note also that in See/Lane version 4.0 an additional I/O status display has been added (a double arrow icon on the right side). 8.1.1. Setting the Lanes
8.1.1.1. Lane options Click cameras tab:
8.1.1.2. Save Images options Click Images tab:
8.1.1.3. General lane options Click general tab:
8.1.1.4. Cameras option Double-Click camera name in the camera tab to adjust the camera attributes. Click the enable camera box and select the input channel and the first light pin (the second pin will be the chosen as pin +1). 8.1.1.5. Capture sets The See/Lane application operates in a flexible hierarchical arrangement using 3 levels of capturing: images, cycles and sets. The following defines these types: Images – a number of images (1-5) may be captured and sent to identification. All these images share the same illumination. Cycle – each cycle is a different level of illumination (off/low/medium/high). All the images within this cycle share the same illumination. Sets – the user may select a single set of images and cycles, or multiple sets. The latter is applied in case of recognition failure, so the multiple sets mechanism is used to overcome these cases. You should consult with us on the specific settings of this configuration, which is Country and installation specific. A recommended default set is also defined in a later section. In the capture set Child Window you can define and view the capture sets setting: the illumination for each image and the number of images per cycle
the number of cycles per set (using the add/delete cycle button) the number of sets (using add/delete set button). Figure 8.4 Capture sets Window
8.1.2. Identification Settings
Figure 8.5: Identification settings
8.1.3. Communication Settings 8.1.3.1. Port settings
8.1.3.2. Transmission contents Check one of the options in the transmit mode:
8.1.3.3. Custom mode Transmission In custom mode the communication string can be written as a combination of different types:
For example, for a 2 line display (with oxc and oxd as special codes that clear the screen and skip to the next line), a possible string can be written as such: "0xc Welcome %code 0xd %name" Which will be displayed as: Welcome ABC-123 Peter Smith 8.1.4. Ceneral Setting
8.1.5. Video Setting 8.1.5.1. Live mode You can view the camera output using the See/Lane’s built-in live mode: Select the appropriate lane by selecting the desired lane tab, then hit the live mode icon (blue monitor button) on the SeeLane application. Please bear in mind that when the live-mode is activated the recognition is not performed. Additionally the illumination is not activated. This implies that if you would like to view the vehicle under illumination conditions in the live mode, you will need to short the output illumination control line to ground. Always return to recognition mode by exiting the live mode (hit again the live mode icon). 8.1.5.2. Frame grabber control Click F9 to adjust the Video properties of the frame grabber. You can set the AGC mode (the recommended state) and optionally change the brightness and contrast. The anti-alias filter is recommended to be set activate since it reduces faint vertical stripes. For optimizing the operation you may change the brightness/contrast. For example, for reflective license plate you can adjust the brightness to a low level (-32 – 64) and increase the contrast to highest value, thus you will get a black image background and only the license plate will appear strongly. We recommend to start from the default values - which can always be resumed.
This is the control window you will get when hitting F9 when a RIO frame grabber is installed: Figure 8.9 Video settings window (Rio Frame Grabber)
Click F9 and then Video Source button to adjust the brightness and the contrast levels. Figure 8.10 Video settings windows (BT848 Frame Grabber) 8.2. See/Lane activation
You can also use our See/Cal camera calibration tool. Please see details the on-line support page - tools section.
SeeLane can accept a wide and flexible permutations of the illumination setting (off/low/medium/high), the number of images in that illumination, and the number of sets (the number of iterations in case there is no recognition). The following table summarizes the recommended settings.
This table assumes that "both fields" settings is used (so each image is identified twice per frame). If not - the number of images should be increased. 8.3. Dual Camera per lane This mode is activated using a special license plug. This mode limits the maximum lanes to 3, each lane with 2 cameras (Front and Back/Rear). After selecting a lane the following display will be seen (example):
For the Input Sensor select number 1 (for lane1), check "Normally Open" (for most type of detectors). Check the box "Notify rear and front" according to the following modes:
9. Optimization and Trouble Shooting This section provides a few hints on how to optimize the results and how to solve potential problems during installation.
9.1. Verifying the images quality 9.1.1. Collecting images for review The quality of the installation could be judged from the images automatically collected by the application. It is recommended to save several bmp-type files and send them for Hi-Tech Solutions review. The images are 768 pixels (side to side) and 288 (height of the field - one half of the frame resolution). Each pixel is 8 bit (a gray level 0 (=black) to 255 (=white)). 9.1.2. Plate size The recommended size of the plates (in general) is:
The different sizes are due to the fact that in the front-car case the vehicle continues to get closer to the camera after the first image (thus gets bigger), while the rear-car installation the car drives away (thus the plate gets smaller). Note: In any case the minimum and maximum size of the plate is defined in the configuration file (format.ini). The factory settings cover a wider range that is usually encountered.
9.2. Installation Problem Solving 9.2.1. No Image (live video) In this case no live video is seen on the SeeLane main display. We recommend to check the following:
9.2.2. No illumination In this case no illumination effect is seen when activating the system. This could result from various reasons, which you can check as follows:
9.2.3. No Recognition If all the above conditions were corrected, there might be cases of no recognition at all with a good plate image. This could result from different reasons. Please check the following:
9.2.4. Low Recognition Rate - Image quality This is a typical problem in some installations. It could result from image quality reasons due to the following problems:
The solutions for the above problems are:
You can also use our "See/Cal" camera calibration tool to maximize the IRIS and focus setting. Please see details the on-line support page - tools section.
9.2.5. Missing DLLs In case of incorrect software installation, some of the DLLs may be missing while trying to run the SeeLane application. The following are typical problems:
9.2.6. Camera/ Lens Back-focus Procedure You may find that the lens cannot be focused at either end of the specified detection range. If this problem occurs, you may need to adjust the camera back-focus. By adjusting the back focus, you are changing the position of the pick-up device in relation to the rear of the lens. The following procedure may be used for this case (although the camera is factory calibrated using the same procedure). Note that the following procedure applies to Rainbow H12mm or H16mm lens mounted in the SeeCarHead.
10. Support and more Information You can contact us for more information and assistance at:
Visit our Home page http://www.I-Cube.co.za and download:
We also recommend to install pcAnywhere with TCPIP connection. This software package will allow us to view the on-line operation, fine-tune the parameters, download images and update the software. See more details in the web site support page.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||