Armin Bahramshahry 1501-2024 Fullerton Ave

Total Page:16

File Type:pdf, Size:1020Kb

Armin Bahramshahry 1501-2024 Fullerton Ave Armin Bahramshahry 1501-2024 Fullerton Ave. Vancouver, B.C. V7P 3G4 April 16, 2007 Dr. Matei Ripeanu Electrical and Computer Engineering The University of British Columbia 2332 Main Mall Vancouver, BC V6T 1Z4 Dear Dr. Ripeanu, Please find attached my final report for the EECE 496 course project. The report contains a description of the context, in which my work was performed, and includes an explanation of my research, design and implementation for this project. I also have mentioned a set of recommendations for future work. I look forward to your feedback. Thanks, Armin Bahramshahry. c.c. J. Pavelich UBC Electrical & Computer Engineering Department vanDisk: An Exploration in Peer-To-Peer Collaborative Back-up Storage System EECE 496 Term Paper Submitted to: Ms. Jane Pavelich and Dr. Matei Ripeanu Armin Bahramshahry 4/16/2007 ABSTRACT This term paper discusses the research, initial setup, and development of a new user interface component for the currently existing reliable peer-to-peer backup storage system developed by EECE 496 students. The objective of the project is to study the existing user-interface of the vanDisk project for compatibility with another project named “free-loader”. There has been research done on other technologies provided by Microsoft for Windows operating systems to design and implement a virtual drive with file system callbacks. The requirement of such component is to provide common “file-level” file system callback interface for both the vanDisk project and the free-loader project. It needs to have a reasonable throughput and CPU consumption. It is also very important to keep in mind the response time of the system. This report explains the research on four technologies offered by Microsoft named, Kernel-Mode Driver Framework (KMDF), User-Mode Driver Framework (UMDF), Windows Shell Namespace, and Installable File System (IFS). Later it explains the design decisions that have been made, and it will explain the initial design and development. Following which it will demonstrate the experiments that have performed on the developed functionalities and their results. Finally it will make a set of recommendations on the findings and conclude on how this project could be continued and how the findings are useful. ii Table of Contents ABSTRACT .....................................................................................................................................ii LIST OF FIGURES ......................................................................................................................... v LIST OF TABLES .......................................................................................................................... vi GLOSSARY .................................................................................................................................. vii LIST OF ACRONYMS ................................................................................................................ viii 1.0 INTRODUCTION ............................................................................................................... 1 2.0 BACKGROUND ................................................................................................................. 3 3.0 RESEARCH ......................................................................................................................... 4 3.1 Windows Kernel-Mode Driver Framework ..................................................................... 4 3.1.1 Framework Overview ............................................................................................... 4 3.1.2 I/O Flow Model......................................................................................................... 5 3.1.3 Build Process ............................................................................................................ 7 3.1.4 Installation Process ................................................................................................... 8 3.1.5 Debug Process ........................................................................................................... 8 3.2 Windows User-Mode Driver Framework ........................................................................ 9 3.2.1 Framework Overview ............................................................................................... 9 3.2.2 I/O Flow Model....................................................................................................... 10 3.2.3 UMDF Objects ........................................................................................................ 11 3.2.4 UMDF Callback Interfaces ..................................................................................... 13 3.3 Windows Shell Namespace ............................................................................................ 14 3.4 Windows Installable File System ................................................................................... 15 3.4.1 Overview ................................................................................................................. 15 3.4.2 Filter Manager Benefits .......................................................................................... 16 3.4.3 Architecture ............................................................................................................. 17 3.4.4 I/O Flow Model....................................................................................................... 18 4.0 DESIGN AND IMPLEMENTATION .............................................................................. 20 4.1 Design............................................................................................................................. 20 4.1.1 Overview ................................................................................................................. 20 4.1.2 Minispy .................................................................................................................. 20 4.1.2 Initial Design ........................................................................................................... 21 4.2 Implementation............................................................................................................... 22 iii 5.0 EXPERIMENTS ................................................................................................................ 24 5.1 Experiments .................................................................................................................... 24 5.2 Results and Analysis ...................................................................................................... 24 6.0 RECOMMENDATION ..................................................................................................... 28 7.0 CONCLUSION .................................................................................................................. 29 8.0 APPENDIX A .................................................................................................................... 30 9.0 APPENDIX B .................................................................................................................... 32 10.0 APPENDIX C .................................................................................................................... 34 11.0 APPENDIX D .................................................................................................................... 40 12.0 REFERENCES .................................................................................................................. 42 iv LIST OF FIGURES Figure 1 Lifecycle failure pattern for hard drives [2]. .................................................................... 1 Figure 2 KMDF I/O Flow [3] ......................................................................................................... 6 Figure 3 I/O Flow to UMDF Driver [6] ........................................................................................ 11 Figure 4 Simplified I/O Stack with Filter Manager and Minifilter Drivers [9] ............................ 18 Figure 5 File System Design ......................................................................................................... 22 Figure 6 Message Polling Stress Test Graph ................................................................................ 25 Figure 7 Message Polling Stress Test Graph at 0 Intervals .......................................................... 26 Figure 8 Message Polling CPU Usage Graph ............................................................................... 27 v LIST OF TABLES Table 1 Supporting Create, Cleanup, and Close Requests ............................................................ 10 Table 2 UMDF Object Types [6] .................................................................................................. 12 Table 3 Driver Callback Objects and Interfaces [6] ..................................................................... 14 Table 4 KM-UM Message Passing Stress Test Result ................................................................. 31 Table 5 KM-UM Message Passing CPU Consumption ................................................................ 33 Table 6 Mini-Filter Major Functions [10] .................................................................................... 39 Table 7 Batch File Description ..................................................................................................... 41 vi GLOSSARY Term or Phrase Definition Block
Recommended publications
  • Investigating Powershell Attacks
    Investigating PowerShell Attacks Black Hat USA 2014 August 7, 2014 PRESENTED BY: Ryan Kazanciyan, Matt Hastings © Mandiant, A FireEye Company. All rights reserved. Background Case Study WinRM, Victim VPN SMB, NetBIOS Attacker Victim workstations, Client servers § Fortune 100 organization § Command-and-control via § Compromised for > 3 years § Scheduled tasks § Active Directory § Local execution of § Authenticated access to PowerShell scripts corporate VPN § PowerShell Remoting © Mandiant, A FireEye Company. All rights reserved. 2 Why PowerShell? It can do almost anything… Execute commands Download files from the internet Reflectively load / inject code Interface with Win32 API Enumerate files Interact with the registry Interact with services Examine processes Retrieve event logs Access .NET framework © Mandiant, A FireEye Company. All rights reserved. 3 PowerShell Attack Tools § PowerSploit § Posh-SecMod § Reconnaissance § Veil-PowerView § Code execution § Metasploit § DLL injection § More to come… § Credential harvesting § Reverse engineering § Nishang © Mandiant, A FireEye Company. All rights reserved. 4 PowerShell Malware in the Wild © Mandiant, A FireEye Company. All rights reserved. 5 Investigation Methodology WinRM PowerShell Remoting evil.ps1 backdoor.ps1 Local PowerShell script Persistent PowerShell Network Registry File System Event Logs Memory Traffic Sources of Evidence © Mandiant, A FireEye Company. All rights reserved. 6 Attacker Assumptions § Has admin (local or domain) on target system § Has network access to needed ports on target system § Can use other remote command execution methods to: § Enable execution of unsigned PS scripts § Enable PS remoting © Mandiant, A FireEye Company. All rights reserved. 7 Version Reference 2.0 3.0 4.0 Requires WMF Requires WMF Default (SP1) 3.0 Update 4.0 Update Requires WMF Requires WMF Default (R2 SP1) 3.0 Update 4.0 Update Requires WMF Default 4.0 Update Default Default Default (R2) © Mandiant, A FireEye Company.
    [Show full text]
  • Oracle Grid Infrastructure Installation Guide for Linux
    Oracle® Grid Infrastructure Installation Guide 11g Release 2 (11.2) for Microsoft Windows x64 (64-Bit) E24169-04 May 2012 Oracle Grid Infrastructure Installation Guide, 11g Release 2 (11.2) for Microsoft Windows x64 (64-Bit) E24169-04 Copyright © 2007, 2012, Oracle and/or its affiliates. All rights reserved. Primary Authors: Janet Stern, Douglas Williams Contributing Authors: Mark Bauer, Jonathan Creighton, Reema Khosla, Barb Lundhild, Saar Maoz, Markus Michalewicz, Philip Newlan, Hanlin Qian Contributors: Karin Brandauer, Barbara Glover, Sujatha Srinivasa Gopalan, Shivanand Hiremath, Yingwei Hu, Wei Huang, Scott Jesse, Sameer Joshi, Alexander Keh, Jai Krishnani, Jifeng Liu, Fangya Lu, Anil Nair, Mohammed Shahnawaz Quadri, Sudhe Sampath, Vishal Saxena, Janelle Simmons, Malaiarasan Stalin, Richard Strohm, Preethi Subramanyam, Preethi Vallam, Zhiqiang Yang This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S.
    [Show full text]
  • Asp Net Not Declared Protection Level
    Asp Net Not Declared Protection Level Hewitt never tooth any scarlets forage strenuously, is Izzy psychometrical and sympodial enough? Aroid Noland sometimes challenges any redox capsulize decreasingly. Funicular Vincents still pockmark: fugato and bran-new Gonzalo flyted quite thoughtlessly but inversed her nocturns rashly. Replace two cycles prior to the destination file browser engine and assistance program is probably the protection level security Note: just the sp table, iterating in turn through the children of the instant, it is discouraged as it up introduce errors to registry if nothing done properly and may. Please apply to affirm from constant public gatherings. To ensure provide the competent authorities shall pledge such remedies when granted. Psychosocial predictors for cancer prevention behaviors in workplace using protection motivation theory. We use easily create seperate action methods for act request types. It is quiet usually recommended to redirect all http traffic to https. New York State Update Feb. The full declaration can be viewed here. NCrunch builds fine, Martin Luther King Jr. Pinal Dave is a SQL Server Performance Tuning Expert and an independent consultant. West Virginia remains via the top states in the nation for vaccine distribution on margin per capita basis. Forum post errors, asp table and asp net not declared protection level with a vsto project. This writing help the process protect themselves then other patients. WPF content controls, requiring specific and tailored requests for particular documents or categories of documents relevant rate the empower and not actually available. How would receive do that? Free file explorer extension for Visual Studio. It has grown to lease a protection gun is self experience and vehicle.
    [Show full text]
  • Iseries Netserver)
    IBM Systems - iSeries Networking iSeries support for Windows Network Neighborhood (iSeries NetServer) Version 5 Release 4 IBM Systems - iSeries Networking iSeries support for Windows Network Neighborhood (iSeries NetServer) Version 5 Release 4 Note Before using this information and the product it supports, read the information in “Notices,” on page 73. Tenth Edition (February 2006) This edition applies to i5/OS version 5, release 4, modification 0 (product number 5722-SS1) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. © Copyright International Business Machines Corporation 1998, 2006. All rights reserved. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Stop file sharing . .36 Part 1. iSeries NetServer . .1 Access iSeries NetServer file shares with a Windows client . .36 || Chapter 1. What’s new for V5R4 . .3 Case sensitivity of file systems for iSeries NetServer 37 Chapter 2. Printable PDF . .5 Chapter 8. iSeries NetServer print shares . .39 Chapter 3. iSeries NetServer versus Create an iSeries NetServer print share . .39 iSeries Access for Windows . .7 PC client print device drivers for use with iSeries Install iSeries Access for Windows on Windows PCs NetServer print shares . .40 using iSeries NetServer . .7 Stop print sharing . .40 Use iSeries NetServer print shares with Windows Chapter 4. Linux and Samba client 2000, Windows XP, and Windows Server 2003 clients 40 support . .11 Chapter 9. iSeries NetServer domain logon support . .43 Chapter 5.
    [Show full text]
  • HUNTING for MALWARE with COMMAND LINE LOGGING and PROCESS TREES Vanja Svajcer Cisco Talos, Croatia [email protected]
    30 September - 2 October, 2020 / vblocalhost.com HUNTING FOR MALWARE WITH COMMAND LINE LOGGING AND PROCESS TREES Vanja Svajcer Cisco Talos, Croatia [email protected] www.virusbulletin.com HUNTING FOR MALWARE WITH COMMAND LINE LOGGING... SVAJCER ABSTRACT Over the years, many detection techniques have been developed, ranging from simple pattern matching to behavioural detection and machine learning. Unfortunately, none of these methods can guarantee users to be fully protected from all types of attacks. This fact is now accepted and many companies, especially medium to large corporations, have established their own in-house security teams specifically tasked with hunting attacks that may have slipped through the cracks of their protection layers. Security operations centres (SOCs) are tasked with collecting, aggregating and analysing large quantities of security data collected from the most valuable organizational assets as well as external threat intelligence data that is used to enrich the context and allow team members to identify incidents faster. When we log Windows events, there are literally hundreds of event types that generate a huge amount of data that can only be analysed using a data analytic platform. Considering the amount of data, which is too large to be handled manually by humans, it is crucial for defenders to know what they should look for in order to reduce the set of data to the point where it can be handled relatively easily by blue team members. One of the data types that can be collected while hunting for new threats is the command line parameters used to launch processes. Logging command lines of executed processes can be a useful second line in detection of unknown malicious attacks as well as in the determination of the root cause of infections during the incident response remediation phase.
    [Show full text]
  • Niagara Networking and Connectivity Guide
    Technical Publications Niagara Networking & Connectivity Guide Tridium, Inc. 3951 Westerre Parkway • Suite 350 Richmond, Virginia 23233 USA http://www.tridium.com Phone 804.747.4771 • Fax 804.747.5204 Copyright Notice: The software described herein is furnished under a license agreement and may be used only in accordance with the terms of the agreement. © 2002 Tridium, Inc. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Tridium, Inc., 3951 Westerre Parkway, Suite 350, Richmond, Virginia 23233. The confidential information contained in this document is provided solely for use by Tridium employees, licensees, and system owners. It is not to be released to, or reproduced for, anyone else; neither is it to be used for reproduction of this control system or any of its components. All rights to revise designs described herein are reserved. While every effort has been made to assure the accuracy of this document, Tridium shall not be held responsible for damages, including consequential damages, arising from the application of the information given herein. The information in this document is subject to change without notice. The release described in this document may be protected by one of more U.S. patents, foreign patents, or pending applications. Trademark Notices: Metasys is a registered trademark, and Companion, Facilitator, and HVAC PRO are trademarks of Johnson Controls Inc. Black Box is a registered trademark of the Black Box Corporation. Microsoft and Windows are registered trademarks, and Windows 95, Windows NT, Windows 2000, and Internet Explorer are trademarks of Microsoft Corporation.
    [Show full text]
  • Mastering Windows XP Registry
    Mastering Windows XP Registry Peter Hipson Associate Publisher: Joel Fugazzotto Acquisitions and Developmental Editor: Ellen L. Dendy Editor: Anamary Ehlen Production Editor: Elizabeth Campbell Technical Editor: Donald Fuller Electronic Publishing Specialist: Maureen Forys, Happenstance Type-O-Rama Proofreaders: Nanette Duffy, Emily Hsuan, Laurie O'Connell, Yariv Rabinovitch, Nancy Riddiough Book Designer: Maureen Forys, Happenstance Type-O-Rama Indexer: Ted Laux Cover Designer: Design Site Cover Illustrator: Sergie Loobkoff Copyright © 2002 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World rights reserved. The author(s) created reusable code in this publication expressly for reuse by readers. Sybex grants readers limited permission to reuse the code found in this publication or its accompanying CD-ROM so long as the author is attributed in any application containing the reusable code and the code itself is never distributed, posted online by electronic transmission, sold, or commercially exploited as a stand-alone product. Aside from this specific exception concerning reusable code, no part of this publication may be stored in a retrieval system, transmitted, or reproduced in any way, including but not limited to photocopy, photograph, magnetic, or other record, without the prior agreement and written permission of the publisher. First edition copyright © 2000 SYBEX Inc. Library of Congress Card Number: 2002100057 ISBN: 0-7821-2987-0 SYBEX and the SYBEX logo are either registered trademarks or trademarks of SYBEX Inc. in the United States and/or other countries. Mastering is a trademark of SYBEX Inc. Screen reproductions produced with FullShot 99. FullShot 99 © 1991-1999 Inbit Incorporated. All rights reserved.FullShot is a trademark of Inbit Incorporated.
    [Show full text]
  • System I: Networking IBM I Netserver IBM I Netserver
    IBM System i Networking IBM i NetServer Version 6 Release 1 IBM System i Networking IBM i NetServer Version 6 Release 1 Note Before using this information and the product it supports, read the information in “Notices,” on page 45. This edition applies to version 6, release 1, modification 0 of IBM i5/OS (product number 5761-SS1) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. © Copyright IBM Corporation 1998, 2008. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents IBM i NetServer ........... 1 Viewing and configuring IBM i NetServer shared PDF file for IBM i NetServer ......... 1 object properties ............ 23 IBM i NetServer versus IBM i Access for Windows . 1 Viewing shared object status........ 23 Installing IBM i Access for Windows on Windows Viewing a list of IBM i NetServer sessions ... 24 PCs ................ 2 Viewing IBM i NetServer session properties .. 24 Installing IBM i Access for Windows on Viewing IBM i NetServer session connection Windows 2000 ............ 2 status ............... 24 Installing IBM i Access for Windows on Stopping an IBM i NetServer session ..... 25 Windows XP ............ 2 File shares ............... 25 Installing IBM i Access for Windows on Creating IBM i NetServer file shares ..... 26 Windows Server 2003 ......... 3 Controlling access to IBM i NetServer file shares 26 Installing IBM i Access for Windows on Stopping IBM i NetServer file sharing .... 26 Windows Vista ........... 3 Accessing file shares from a Windows client .
    [Show full text]
  • DIGILIANT Windows Storage Server 2003 R2
    DIGILIANT Windows Storage Server 2003 R2 User’s Guide Copyright © 2003-2006 Digiliant, LLC. All rights reserved. The technical documentation is being delivered to you AS-IS, and Digiliant, LLC makes no warranty as to its accuracies or use. Any use of the technical documentation or the information contained therein is at the risk of the user. Documentation may include technical or other inaccuracies or typographical errors. Digiliant reserves the right to make changes without prior notice. Digiliant and the Digiliant Logo are registered trademarks of Digiliant, LLC and may not be used without written permission. Microsoft, Microsoft Windows Storage Server 2003 and all other trademarks are the property of their respective owners. No part of this documentation may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of Digiliant, LLC. 1 OVERVIEW OF WINDOWS STORAGE SERVER 2003 R2 .......................................................................................... 1 NETWORKING ................................................................................................................................................................................. 1 Network Data Transmission Protocols ................................................................................................................................ 1 NETWORK SECURITY ....................................................................................................................................................................
    [Show full text]
  • Configuration Audit Microsoft Windows
    CONFIGURATION AUDIT MICROSOFT WINDOWS Computer: W10W (Standalone) Operating system: Windows 10 Pro (64bit) Audit date: 2016-01-28 17:09 54% Checklist: Audit Square - std. security/2016b Area Check Result *) Basic tests BASE-01 OS version and updates Warning BASE-02 Installed software Ok BASE-03 Environment variables Ok BASE-04 Other operating system settings Ok System services SVCS-01 Basic configuration of system services Fail SVCS-02 Drivers Warning SVCS-03 Services and drivers access permissions Ok SVCS-04 Service accounts Ok SVCS-05 Other programs that run automatically Ok Security policy SECP-01 Passwords and account locking policy Fail SECP-02 Security settings Fail SECP-03 Audit settings Fail SECP-04 Parameters of log files Warning SECP-05 Other security settings Fail SECP-06 Privacy Warning User accounts USER-01 System-wide privileges Fail USER-02 Problematic active accounts Fail USER-03 Local groups membership Fail USER-04 Logon cache Ok Access control ACLS-01 File system of local drives Ok ACLS-02 File access permissions Ok Network settings NETW-01 Global settings Fail NETW-02 Problematic open TCP/UDP ports Warning NETW-03 System server components configuration Ok NETW-04 Shared resources Ok *) You can get to detailed findings by clicking on the check result. W10W / Windows 10 Pro / 2016-01-28 17:09 1 / 39 1 COMPUTER W10W [INFO-xx] Assessment info [BASE-xx] Basic tests [SVCS-xx] System services [SECP-xx] Security policy [USER-xx] User accounts [ACLS-xx] Access control [NETW-xx] Network settings 1.1 [INFO-xx] Assessment info 1.1.1
    [Show full text]
  • Introduction to Vmware Thinapp Vmware Thinapp 4.0 Introduction to Vmware Thinapp
    Introduction to VMware ThinApp VMware ThinApp 4.0 Introduction to VMware ThinApp Introduction to VMware ThinApp Revision: 20080627 Item: EN-000063-00 You can find the most up-to-date technical documentation on our Web site at: http://www.vmware.com/support/ The VMware Web site also provides the latest product updates. If you have comments about this documentation, submit your feedback to: [email protected] © 2008 VMware, Inc. All rights reserved. Protected by one or more U.S. Patent Nos. 6,397,242, 6,496,847, 6,704,925, 6,711,672, 6,725,289, 6,735,601, 6,785,886, 6,789,156, 6,795,966, 6,880,022, 6,944,699, 6,961,806, 6,961,941, 7,069,413, 7,082,598, 7,089,377, 7,111,086, 7,111,145, 7,117,481, 7,149,843, 7,155,558, 7,222,221, 7,260,815, 7,260,820, 7,269,683, 7,275,136, 7,277,998, 7,277,999, 7,278,030, 7,281,102, 7,290,253, and 7,356,679; patents pending. VMware, the VMware “boxes” logo and design, Virtual SMP and VMotion are registered trademarks or trademarks of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies. VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com 2 VMware, Inc. Contents Introduction to VMware ThinApp 5 How ThinApp Works 5 Features of Thinapp 8 User Mode Operation 8 Virtual Side‐By‐Side (SxS) Support 8 Application Isolation 9 Multiple Simultaneous Client Application Versions 9 Instant Portable Deployment of Applications on USB Flash or CD‐ROM) 9 ThinApp Applications Are Loaded as Normal Applications
    [Show full text]
  • Proposal for AFS Windows Shell Namespace Extension
    Proposal for AFS Windows Shell Namespace Extension As things currently stand, users interact with AFS in the same manner they interact with normal CIFS shares. AFS specific functionality is exposed via a set of command line tools and a shell extension that adds AFS specific menu items to the context menus in the Windows Explorer shell. Many institutions that use AFS have found that this arrangement is not sufficiently user friendly due to a number of reasons including the difficulty of navigating the AFS hierarchy. This proposal is for a Windows Explorer Shell namespace extension and the associated AFS cache manager modifications that aim to improve the accessibility of the AFS folder hierarchy. Note that this proposal does not cover other aspects of the AFS shell extensions such as the addition of AFS specific property sheets and meta-data handlers. Contents Windows Shell Namespaces ......................................................................................................................... 3 AFS Namespaces ........................................................................................................................................... 4 “Recent” Namespace ................................................................................................................................ 4 Criteria for Adding a Folder ................................................................................................................... 5 Naming Shortcuts .................................................................................................................................
    [Show full text]