skip to main content


Title: Replication Data for: Protein Secondary Structure in Spider Silk Nanofibrils
This dataset contains raw data, processed data, and the codes used for data processing in our manuscript from our Fourier-transform infrared (FTIR) spectroscopy, Nuclear magnetic resonance (NMR), Raman spectroscopy, and X-ray diffraction (XRD) experiments. The data and codes for the fits of our unpolarized Raman spectra to polypeptide spectra is also included. The following explains the folder structure of the data provided in this dataset, which is also explained in the file ReadMe.txt. Browsing the data in Tree view is recommended. Folder contents Codes Raman Data Processing: The MATLAB script file RamanDecomposition.m contains the code to decompose the sub-peaks across different polarized Raman spectra (XX, XZ, ZX, ZZ, and YY), considering a set of pre-determined restrictions. The helper functions used in RamanDecomposition.m are included in the Helpers folder. RamanDecomposition.pdf is a PDF printout of the MATLAB code and output. P Value Simulation: 31_helix.ipynb and a_helix.ipynb: These two Jupyter Notebook files contain the intrinsic P value simulation for the 31-helix and alpha-helix structures. The simulation results were used to prepare Supplementary Table 4. See more details in the comments contained. Vector.py, Atom.py, Amino.py, and Helpers.py: These python files contains the class definitions used in 31_helix.ipynb and a_helix.ipynb. See more details in the comments contained. FTIR FTIR Raw Transmission.opj: This Origin data file contains the raw transmission data measured on single silk strand and used for FTIR spectra analysis. FTIR Deconvoluted Oscillators.opj: This Origin data file was generated from the data contained in the previous file using W-VASE software from J. A. Woollam, Inc. FTIR Unpolarized MultiStrand Raw Transmission.opj: This Origin data file contains the raw transmission data measured on multiple silk strands. The datasets contained in the first two files above were used to plot Figure 2a-b and the FTIR data points in Figure 4a, and Supplementary Figure 6. The datasets contained in the third file above were used to plot Supplementary Figure 3a. The datasets contained in the first two files above were used to plot Figure 2a-b, FTIR data points in Figure 4a, and Supplementary Figure 6. NMR Raw data files of the 13C MAS NMR spectra: ascii-spec_CP.txt: cross-polarized spectrum ascii-spec_DP.txt: direct-polarized spectrum Data is in ASCII format (comma separated values) using the following columns: Data point number Intensity Frequency [Hz] Frequency [ppm] Polypeptide Spectrum Fits MATLAB scripts (.m files) and Helpers: The MATLAB script file Raman_Fitting_Process_Part_1.m and Raman_Fitting_Process_Part_2.m contains the step-by-step instructions to perform the fitting process of our calculated unpolarized Raman spectrum, using digitized model polypeptide Raman spectra. The Helper folder contains two helper functions used by the above scripts. See the scripts for further instruction and information. Data aPA.csv, bPA.csv, GlyI.csv, GlyII.csv files: These csv files contain the digitized Raman spectra of poly-alanine, beta-alanine, poly-glycine-I, and poly-glycine-II. Raman_Exp_Data.mat: This MATLAB data file contains the processed, polarized Raman spectra obtained from our experiments. Variable freq is the wavenumber information of each collected spectrum. The variables xx, yy, zz, xz, zx represent the polarized Raman spectra collected. These variables are used to calculate the unpolarized Raman spectrum in Raman_Fitting_Process_Part_2.m. See the scripts for further instruction and information. Raman Raman Raw Data.mat: This MATLAB data file contains all the raw data used for Raman spectra analysis. All variables are of MATLAB structure data type. Each variable has fields called Freq and Raw, with Freq contains the wavenumber information of the measured spectra and Raw contains 5 measured Raman signal strengths. Variable XX, XZ, ZX, ZZ, and YY were used to plot and sub-peak analysis for Figure 2c-d, Raman data points in Figure 4a, Figure 5b, Supplementary Figure 2, and Supplementary Figure 7. Variable WideRange was used to plot and identify the peaks for Supplementary Figure 3b. X-Ray X-Ray.mat: This MATLAB data file contains the raw X-ray data used for the diffraction analysis in Supplementary Figure 5.  more » « less
Award ID(s):
1905902 2105158
NSF-PAR ID:
10383121
Author(s) / Creator(s):
; ; ; ; ; ; ; ;
Publisher / Repository:
Harvard Dataverse
Date Published:
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Raw data of optical microscopy, scanning electron microscopy (SEM), atomic force microscopy (AFM), and diameter measurements of the exfoliated and self-assembled nanofibrils for our manuscript. File Formats AFM raw data is provided in Gwyddion format, which can be viewed using the Gwyddion AFM viewer, which has been released under the GNU public software licence GPLv3 and can be downloaded free of charge at http://gwyddion.net/ Optical microscopy data is provided in JPEG format SEM raw data is provided in TIFF format Data analysis codes were written in MATLAB (https://www.mathworks.com/products/matlab) and stored as *.m files Data analysis results were stored as MATLAB multidimensional arrays (MATLAB “struct” data format, *.mat files) Data (Folder Structure) The data in the dataverse is best viewed in Tree mode. ReadMe.md This description in Markdown format. Figure 2 - Microscopy Raw Data Figure 2 - panel a.jpg (7.2 MB) Optical micrograph (JPEG format) Figure 2 - panel b.jpg (6.1 MB) Optical micrograph (JPEG format) Figure 2 - panel c f.tif (1.2 MB) SEM raw data (TIFF format) Figure 2 - panel d.tif (1.2 MB) SEM raw data (TIFF format) Figure 2 - panel e - Exfoliated Fibrils.gwy (32.0 MB) AFM raw data (Gwyddion format) Figure 3 - AFM Raw Data Figure 3 - Panel a - Exfoliated fibrils.gwy (81.5 MB) AFM raw data (Gwyddion format) Figure 3 - Panel c - Self-assembled fibrils.gwy (24.0 MB) AFM raw data (Gwyddion format) Figure 3 - Diameter Measurements Figure 3a and Figure 3c show the AFM images of exfoliated and self-assembled nanofibrils, respectively. However, due to the AFM tip-induced broadening of lateral dimensions of small features (such as nanofibrils), the diameters of nanofibrils are generally overestimated in AFM images. Hence, the diameters of the nanofibrils were estimated as the full width at half maximum (FWHM) value of line scans taken over nanofibrils perpendicular to their axial direction. Line profiles were taken at multiple locations using Gwyddion, and the raw data were stored in MATLAB struct files (lineProfileData_Exfoliated.mat and lineProfileData_Self-Assembled.mat). These data files can be directly imported into MATLAB and will appear as “DataExf” and “DataSA” in MATLAB workspace. For instance, “DataExf.x{i}” contains the x-axis data of i-th line profile, and “DataExf.y{i}” contains the y-axis data of i-th line profile. The MATLAB codes MainCode_Exf.m and MainCode_SA.m are used to fit Gaussian curves for each line profile and calculate the FWHM. The *.m files for functions gaussian.m and createFit.m must be in the same folder as the file for the main code. The main code generates figures for each line profile containing raw line profile, related Gaussian fit, and FWHM. These FWHM values are considered as the diameters of the fibrils and stored in variables called “Exf_Dia” and “SA_Dia”. Finally, these values are plotted in a histogram and calculate the statistics such as the mean and the standard deviation. Exfoliated createFit.m (1.1 KB) MATLAB code file (see above) gaussian.m (134 B) MATLAB code file (see above) lineProfileData_Exfoliated.mat (11.7 KB) Line profiles for exfoliated nanofibrils (MATLAB struct format) MainCode_Exf.m (1.8 KB) MATLAB code file (see above) Line profile raw data - Exfoliated Folder with all corresponding cross section raw data in ASCII format Self Assembled createFit.m (1.1 KB) MATLAB code file (see above) gaussian.m (134 B) MATLAB code file (see above) lineProfileData_Self-Assembled.mat (9.9 KB) Line profiles for self-assembled nanofibrils (MATLAB struct format) MainCode_SA.m (1.8 KB) MATLAB code file (see above) Line profile raw data - SelfAssembled Folder with all corresponding cross section raw data in ASCII format Figure 4 - AFM Raw Data Figure 4 - Panal a.gwy (73.4 MB) AFM raw data (Gwyddion format) Figure 4 - Panel e.gwy (42.0 MB) AFM raw data (Gwyddion format) 
    more » « less
  2. The raw data for the associated manuscript is organized here into three categories: 1) relating to the measurement and analysis of the native recluse spiders loop junctions, 2) raw images found in the figures throughout the manuscript, and 3) relating to the experiments testing the effect that junction angle has on the strength of two intersecting tapes. It is recommended to browse the data files in Tree mode, which will make the files appear in folders reflecting this organization. 1) Loxosceles Loop Junction Images and Analysis The folder titled, SEM Raw Images, has all of the scanning electron microscopy (SEM) images taken of the native recluse loop junctions. Some images are close-ups of individual junctions and others take a broader perspective (macro) of many loop junctions in series. Where possible several close-up images of the individual junctions are accompanied with a macro image. These images were imported into ImageJ where the junction angle was measured. The measurements for all 41 loop junctions observed are in the folder titled, Raw Data Files in the file titled, Loxosceles Loop Junction Angle Measurements.txt. The folder titled, Raw Data Files contains, in addition to the angle measurements, the raw data for analyzing the strength of individual loop junctions. The data is in native MATLAB data format. These datasets include the complete tensile data and the cross-sectional area data for each spiders silk. The MATLAB code titled, Figure_2A_2B_code, processes the raw tensile data from the natural recluse spiders loop junctions. This data is plotted as two representative curves in Figure 2A and as a complete set as a histogram in Figure 2B. The MATLAB code titled, Figure_7_code, processes and plots the loop junction data found in, Loxosceles Loop Junction Angle Measurements.txt and executed the model of a random set of recluse loops. This code can be executed to generate Figure 7. The folder titled, Raw Data Files, must be open in MATLAB to run this code! This code uses the MATLAB function, areacalculation, to calculate the junction area for a given junction angle. 2) Raw Images This folder is organized by the respective figure in the manuscript where each image can be found. Additional metadata for each image can be found accompanying each image. 3) Tensile Data and Analysis This folder contains all of the raw tensile data for all tape-tape junction experiments conducted. All of the tensile data is in the folder titled, Raw Data Test Files. Within this folder is a .txt file for each sample tested. The file names are critical to the figure codes working properly because they contain the information for the junction angle and iterations. The file names are in the format year-month-day_trialnumber_junctionangle.txt. Also in the Raw Data Test Files folder are two functions used within some of the figure codes: fbfill and areacalculation. These functions will be used in the figure codes to properly analyze the data. To generate any figure using the MATLAB code in this folder, first open the code in MATLAB. Then within MATLAB, open the folder Raw Data Test Files. Only with this folder open in MATLAB will the code be able to find the correct raw data .txt files. The rest of the contents of this folder are MATLAB codes for specific figures in the manuscript. The only exception to this is the code titled, surfaceenergy_code, which is executed to calculate the phenomenological surface energy for the tapes used in these experiments. 
    more » « less
  3. Raw data of scanning electron microscopy (SEM), atomic force microscopy (AFM), force spectroscopy, data analysis and plotting, optical microscopy, and finite element simulations (FEA) for our manuscript. File Formats AFM raw data is provided in Gwyddion format, which can be viewed using the Gwyddion AFM viewer, which has been released under the GNU public software licence GPLv3 and can be downloaded free of charge at http://gwyddion.net/ Optical microscopy data is provided in JPEG format SEM raw data is provided in TIFF format Data analysis codes were written in MATLAB (https://www.mathworks.com/products/matlab) and stored as *.m files Imported raw data to MATLAB and saved MATLAB data were stored as MATLAB multidimensional arrays (MATLAB “struct” data format, *.mat files) FEA results were saved as text files, .txt files) Data (Folder Structure) The data in the dataverse is best viewed in Tree mode. Read me file.docx More Explanations of analysis in docx format. Figure 1 Figure 1 - panel b.jpg (5.5 MB) Optical micrograph (JPEG format) Figure 1 - panel c - AFM Raw Data.gwy (8.0 MB) AFM raw data (Gwyddion format) Figure 1 - panel e - P0_Force-curve_raw_data.txt (3 KB) Raw force-displacement data at P0 (text format) Figure 1 - panel e - Px_Force-curve_raw_data.txt (3 KB) Raw force-displacement data at Px (text format) Figure 1 - panel e - Py_Force-curve_raw_data.txt (3 KB) Raw force-displacement data at Py (text format) Figure 1 - panel e - P0_simulation_raw_data.txt (12 KB) FEA simulated force-distance data at P0 (text format) Figure 1 - panel e - Px_simulation_raw_data.txt (12 KB) FEA simulated force-distance data at Px (text format) Figure 1 - panel e - Py_simulation_raw_data.txt (12 KB) FEA simulated force-distance data at Py (text format) Figure 1 - panel e - FCfindc.m (2 KB) MATLAB code to calculate inverse optical lever sensitivity (InverseOLS) of AFM cantelever (matlab .m format) Figure 1 - panel e - FreqFindANoise_new.m (2 KB) MATLAB code to calculate white noise constant, A (Explained in the Read me file) (matlab .m format) Figure 1 - panel e - FreqFindQ_new.m (4 KB) MATLAB code to calculate Q factor of the AFM cantelever (matlab .m format) Figure 1 - panel e - FCkeff.m (2 KB) MATLAB code to calculate the effective spring constant k of the AFM cantelever (matlab .m format) Figure 1 - panel e - FCimport.m (7 KB) MATLAB code to import raw force-displacement data into MATLAB (matlab .m format) Figure 1 - panel e - FCForceDist.m (2 KB) MATLAB code to convert raw force-displacement data into force-distance data (matlab .m format) Figure 1 - panel e - Figure 1- Panel e - data.mat (6 KB) MATALB struct data file for calibrated force-distance data at all indentation points (matlab .mat format) Figure 1 - panel e - Panel_e_MatlabCode.m (6 KB) MATALB code for plotting experimental and simulated force curves in panel e (matlab .m format) Figure 1 - panel e - Read me file - force curve calibration.docx (14 KB) Explains force curve calibration (.docx format) Figure 1 - panel e - Read me file - lever spring constant calibration.docx (14 KB) Explains AFM lever spring constant calibration (.docx format) Figure 2 Figure 2 - panel a - MATLAB data.mat (2.6 KB) MATALB data file for simulated data (matlab .mat format) Figure 2 - panel b - MATLAB data.mat (2.4 KB) MATALB data file for simulated data (matlab .mat format) Figure 2 - panel a - simulation raw data.txt (5.0 KB) Raw simulation data: xyz coordinates of the nodes of deformed FEA mesh (text format) Figure 2 - panel b - simulation raw data.txt (5.0 KB) Raw simulation data: xyz coordinates of the nodes of deformed FEA mesh (text format) Figure 2 - panel ab - MATLABcode.m (1.0 KB) MATALB code for plotting panel a b figures (matlab .m format) Figure 2 - panel c - Degree of Anisotropy datacode.m (1.0 KB) MATALB code for plotting panel c graph (matlab .m format) Figure 3 Figure 3 - panel a - App_curve_1_raw_data.txt (35 KB) Raw force-displacement data approach curve 1 (text format) Figure 3 - panel a - App_curve_2_raw_data.txt (34 KB) Raw force-displacement data approach curve 2 (text format) Figure 3 - panel a - App_curve_3_raw_data.txt (34 KB) Raw force-displacement data approach curve 3 (text format) Figure 3 - panel a - App_curve_4_raw_data.txt (34 KB) Raw force-displacement data approach curve 4 (text format) Figure 3 - panel a - Ret_curve_1_raw_data.txt (35 KB) Raw force-displacement data of retract curve 1 (text format) Figure 3 - panel a - Ret_curve_2_raw_data.txt (35 KB) Raw force-displacement data of retract curve 2 (text format) Figure 3 - panel a - Ret_curve_3_raw_data.txt (35 KB) Raw force-displacement data of retract curve 3 (text format) Figure 3 - panel a - Simulation_raw_data-part 1.txt (43 KB) simulated force-displacement data of -part 1 (text format) Figure 3 - panel a - Simulation_raw_data-part 2.txt (43 KB) simulated force-displacement data of -part 2 (text format) Figure 3 - panel a - FCfindc.m (2 KB) MATLAB code to calculate inverse optical lever sensitivity (InverseOLS) of AFM cantelever (matlab .m format) Figure 3 - panel a - FreqFindANoise_new.m (2 KB) MATLAB code to calculate white noise constant, A (Explained in the Read me file) (matlab .m format) Figure 3 - panel a - FreqFindQ_new.m (4 KB) MATLAB code to calculate Q factor of the AFM cantelever (matlab .m format) Figure 3 - panel a - FCkeff.m (2 KB) MATLAB code to calculate the effective spring constant k of the AFM cantelever (matlab .m format) Figure 3 - panel a - FCimport.m (7 KB) MATLAB code to import raw force-displacement data into MATLAB (matlab .m format) Figure 3 - panel a - FCForceDist.m (2 KB) MATLAB code to convert raw force-displacement data into force-distance data (matlab .m format) Figure 1 - panel e - Read me file - force curve calibration.docx (14 KB) Explains force curve calibration (.docx format) Figure 1 - panel e - Read me file - lever spring constant calibration.docx (14 KB) Explains AFM lever spring constant calibration (.docx format) Figure 3 - panel b - SEM Raw Data.tiff (9 KB) SEM raw image of broken silk membrane due to extreme indentation (.tiff format) 
    more » « less
  4. Data files were used in support of the research paper titled “Mitigating RF Jamming Attacks at the Physical Layer with Machine Learning" which has been submitted to the IET Communications journal.

    ---------------------------------------------------------------------------------------------

    All data was collected using the SDR implementation shown here: https://github.com/mainland/dragonradio/tree/iet-paper. Particularly for antenna state selection, the files developed for this paper are located in 'dragonradio/scripts/:'

    • 'ModeSelect.py': class used to defined the antenna state selection algorithm
    • 'standalone-radio.py': SDR implementation for normal radio operation with reconfigurable antenna
    • 'standalone-radio-tuning.py': SDR implementation for hyperparameter tunning
    • 'standalone-radio-onmi.py': SDR implementation for omnidirectional mode only

    ---------------------------------------------------------------------------------------------

    Authors: Marko Jacovic, Xaime Rivas Rey, Geoffrey Mainland, Kapil R. Dandekar
    Contact: krd26@drexel.edu

    ---------------------------------------------------------------------------------------------

    Top-level directories and content will be described below. Detailed descriptions of experiments performed are provided in the paper.

    ---------------------------------------------------------------------------------------------

    classifier_training: files used for training classifiers that are integrated into SDR platform

    • 'logs-8-18' directory contains OTA SDR collected log files for each jammer type and under normal operation (including congested and weaklink states)
    • 'classTrain.py' is the main parser for training the classifiers
    • 'trainedClassifiers' contains the output classifiers generated by 'classTrain.py'

    post_processing_classifier: contains logs of online classifier outputs and processing script

    • 'class' directory contains .csv logs of each RTE and OTA experiment for each jamming and operation scenario
    • 'classProcess.py' parses the log files and provides classification report and confusion matrix for each multi-class and binary classifiers for each observed scenario - found in 'results->classifier_performance'

    post_processing_mgen: contains MGEN receiver logs and parser

    • 'configs' contains JSON files to be used with parser for each experiment
    • 'mgenLogs' contains MGEN receiver logs for each OTA and RTE experiment described. Within each experiment logs are separated by 'mit' for mitigation used, 'nj' for no jammer, and 'noMit' for no mitigation technique used. File names take the form *_cj_* for constant jammer, *_pj_* for periodic jammer, *_rj_* for reactive jammer, and *_nj_* for no jammer. Performance figures are found in 'results->mitigation_performance'

    ray_tracing_emulation: contains files related to Drexel area, Art Museum, and UAV Drexel area validation RTE studies.

    • Directory contains detailed 'readme.txt' for understanding.
    • Please note: the processing files and data logs present in 'validation' folder were developed by Wolfe et al. and should be cited as such, unless explicitly stated differently. 
      • S. Wolfe, S. Begashaw, Y. Liu and K. R. Dandekar, "Adaptive Link Optimization for 802.11 UAV Uplink Using a Reconfigurable Antenna," MILCOM 2018 - 2018 IEEE Military Communications Conference (MILCOM), 2018, pp. 1-6, doi: 10.1109/MILCOM.2018.8599696.

    results: contains results obtained from study

    • 'classifier_performance' contains .txt files summarizing binary and multi-class performance of online SDR system. Files obtained using 'post_processing_classifier.'
    • 'mitigation_performance' contains figures generated by 'post_processing_mgen.'
    • 'validation' contains RTE and OTA performance comparison obtained by 'ray_tracing_emulation->validation->matlab->outdoor_hover_plots.m'

    tuning_parameter_study: contains the OTA log files for antenna state selection hyperparameter study

    • 'dataCollect' contains a folder for each jammer considered in the study, and inside each folder there is a CSV file corresponding to a different configuration of the learning parameters of the reconfigurable antenna. The configuration selected was the one that performed the best across all these experiments and is described in the paper.
    • 'data_summary.txt'this file contains the summaries from all the CSV files for convenience.
     
    more » « less
  5. Data files were used in support of the research paper titled "“Experimentation Framework for Wireless
    Communication Systems under Jamming Scenarios" which has been submitted to the IET Cyber-Physical Systems: Theory & Applications journal. 

    Authors: Marko Jacovic, Michael J. Liston, Vasil Pano, Geoffrey Mainland, Kapil R. Dandekar
    Contact: krd26@drexel.edu

    ---------------------------------------------------------------------------------------------

    Top-level directories correspond to the case studies discussed in the paper. Each includes the sub-directories: logs, parsers, rayTracingEmulation, results. 

    --------------------------------

    logs:    - data logs collected from devices under test
        - 'defenseInfrastucture' contains console output from a WARP 802.11 reference design network. Filename structure follows '*x*dB_*y*.txt' in which *x* is the reactive jamming power level and *y* is the jaming duration in samples (100k samples = 1 ms). 'noJammer.txt' does not include the jammer and is a base-line case. 'outMedian.txt' contains the median statistics for log files collected prior to the inclusion of the calculation in the processing script. 
        - 'uavCommunication' contains MGEN logs at each receiver for cases using omni-directional and RALA antennas with a 10 dB constant jammer and without the jammer. Omni-directional folder contains multiple repeated experiments to provide reliable results during each calculation window. RALA directories use s*N* folders in which *N* represents each antenna state. 
        - 'vehicularTechnologies' contains MGEN logs at the car receiver for different scenarios. 'rxNj_5rep.drc' does not consider jammers present, 'rx33J_5rep.drc' introduces the periodic jammer, in 'rx33jSched_5rep.drc' the device under test uses time scheduling around the periodic jammer, in 'rx33JSchedRandom_5rep.drc' the same modified time schedule is used with a random jammer. 

    --------------------------------

    parsers:    - scripts used to collect or process the log files used in the study
            - 'defenseInfrastructure' contains the 'xputFiveNodes.py' script which is used to control and log the throughput of a 5-node WARP 802.11 reference design network. Log files are manually inspected to generate results (end of log file provides a summary). 
            - 'uavCommunication' contains a 'readMe.txt' file which describes the parsing of the MGEN logs using TRPR. TRPR must be installed to run the scripts and directory locations must be updated. 
            - 'vehicularTechnologies' contains the 'mgenParser.py' script and supporting 'bfb.json' configuration file which also require TRPR to be installed and directories to be updated. 

    --------------------------------

    rayTracingEmulation:    - 'wirelessInsiteImages': images of model used in Wireless Insite
                - 'channelSummary.pdf': summary of channel statistics from ray-tracing study
                - 'rawScenario': scenario files resulting from code base directly from ray-tracing output based on configuration defined by '*WI.json' file 
                - 'processedScenario': pre-processed scenario file to be used by DYSE channel emulator based on configuration defined by '*DYSE.json' file, applies fixed attenuation measured externally by spectrum analyzer and additional transmit power per node if desired
                - DYSE scenario file format: time stamp (milli seconds), receiver ID, transmitter ID, main path gain (dB), main path phase (radians), main path delay (micro seconds), Doppler shift (Hz), multipath 1 gain (dB), multipath 1 phase (radians), multipath 1 delay relative to main path delay (micro seconds), multipath 2 gain (dB), multipath 2 phase (radians), multipath 2 delay relative to main path delay (micro seconds)
                - 'nodeMapping.txt': mapping of Wireless Insite transceivers to DYSE channel emulator physical connections required
                - 'uavCommunication' directory additionally includes 'antennaPattern' which contains the RALA pattern data for the omni-directional mode ('omni.csv') and directional state ('90.csv')

    --------------------------------

    results:    - contains performance results used in paper based on parsing of aforementioned log files
     

     
    more » « less