Goatopia IPA IPA - New England
Serving Sizes: 16oz Draft
Giggling Goat Juicy IPA IPA - American
Brewed with the women of Goat Island and the Cullman Brewers Guild, this Pink Boots Society beer uses the Pink Boots 2021 hop blend yielding a refreshing tropical taste and aroma.
Less Info ▴Serving Sizes: Case of 12oz Cans, 12oz Can 6 Pack
MangoWeiss Mango Wheat Beer
Serving Sizes: 16oz
ESB Extra Special Bitter Ale
Traditional copper colored ESB with a rich malt backbone and slightly spicy with English hop notes.
Less Info ▴Serving Sizes: 16oz Draft
Crane Hill Kolsch Kolsch
Serving Sizes: 16oz Draft
Big Bridge IPA IPA - American
The first thing you’ll notice about this beer is an intense burst of hop flavor and aroma. Although there is no fruit added to this beer you may recognize hints of citrus zest, mango and apricot. The next pleasant surprise is the absence of an overly bitter aftertaste. When you taste this beer, you’ll see why many people say it is the best IPA they have ever encountered.
Less Info ▴Serving Sizes: 16oz Draft
Blood Orange Berliner-Weisse Sour - Berliner Weisse
This gorgeous orange-to-pink beer is refreshing and drinkable. A lush sweet orange aroma hits you as you take your first drink. Then, that well crafted wheat ale backbone shines through.Go ahead and indulge yourself - you deserve it!
Less Info ▴Serving Sizes: 16oz Draft
Duck River Dunkel Lager - Munich Dunkel
This smooth, dark Bavarian style lager is all about the malts. It has a medium body and bready malt backbone but finishes dry. It is also our most prestigious beer. It won a silver medal at the Great American beer Festival in Denver in 2018. So you could say this is the 2nd best Dunkel in the United States. We think it’s Number 1! Delicious malty goodness, highly decorated. Taste it for yourself
Less Info ▴Serving Sizes: 16oz Draft
Peace, Love And Hippieweizen Hefeweizen
One drink of this hazy, golden wheat beer and you’ll find yourself back in the sixties. The german heffeweizen yeast used to ferment this beer give it a smooth groovy flavor with hints of fresh bread and the faint aroma of banana. It is light and refreshing. The perfect beer for our hot Alabama weather. Bring on the summer of I love this beer. Far out!
Less Info ▴Serving Sizes: 16oz Draft
Richter's Pilsner Pilsner - German
This antique light golden pilsner won a bronze medal at the 2016 Alabama Craft Beer Championship. It is influenced by German and American traditions, much like the German immigrants that founded Cullman, Alabama in the late 1800’s. A local merchant found a hand written beer recipe in the attic of his old downtown building in Cullman. The recipe was found with other personal items of William Frederick Richter, who owned Richter’s Saloon in the late 1800’s. The mixture of English and Old German was eventually translated and resurrected, and now it is our flagship beer!Availability: Year-round
Less Info ▴Serving Sizes: 16oz Draft
Sipsey River Red Red Ale - American Amber / Red
This beer won a gold medal in the 2016 Alabama Craft Beer Championship! An amber to red ale balanced perfectly with malt and European hops. Smooth, flavorful and colorful. The first thing you'll notice about this beer is the fragrance. It will remind you of walking through the nearby Sipsey River Wilderness area in the spring.
Less Info ▴Serving Sizes: 16oz Draft
Thrill Hill Vanilla Porter Porter - Other
A dark brown imperial porter with hints of caramel, chocolate and coffee balanced with smooth vanilla and bourbon flavor. It is surprisingly drinkable for such a complex high ABV beer. Flavored with real Madagascar vanilla beans.
Less Info ▴Serving Sizes: 10oz Draft
Menu powered by Untappd
|
29
Jul |
Karaoke with Danny Frasier
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
30
Jul |
Live Music: 347 Band
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
31
Jul |
Brandon Elder with Mom & M's Food Truck
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
6
Aug |
Live Music: Monkey Business
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
7
Aug |
Live Music: Overtones
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
13
Aug |
Live Music: Trifecta
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
14
Aug |
Live Music: Round 2
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
20
Aug |
Live Music: Avenue G with Dog eat Dawgs Food Truck
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
21
Aug |
Goat Island Luau Party with Matt Prater Band
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
27
Aug |
Live Music: Natchez Trace
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |
|
|
28
Aug |
Trivia night with Matt Mitchell
7:00 PM CDT |
1646 John H Cooper Dr SE
Cullman, AL |


{% extends "layout.html" %} {% block body %}
Square a number by doing a HTTP/GET against a REST-like URL that includes the number to square.
Square a number by doing a HTTP/POST from a HTML form that includes the number to square.
Square this


Class TheVector3
Inheritance
System.Object
TheVector3
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
Assembly: TheEngine.dll
Syntax
Constructors
|
Improve this Doc
View Source
TheVector3()
Creates a new vector (0,0,0).
Declaration
|
Improve this Doc
View Source
TheVector3(Single, Single, Single)
Creates a new vector with given x, y, z components.
Declaration
public TheVector3(float x, float y, float z)
Parameters
| Type |
Name |
Description |
| System.Single |
x |
X Component
|
| System.Single |
y |
Y Component
|
| System.Single |
z |
Z Component
|
Fields
|
Improve this Doc
View Source
x
Declaration
Field Value
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
y
Declaration
Field Value
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
z
Declaration
Field Value
| Type |
Description |
| System.Single |
|
Properties
|
Improve this Doc
View Source
BackWard
Returns backward vector (0,0,-1)
Declaration
public static TheVector3 BackWard { get; }
Property Value
|
Improve this Doc
View Source
Down
Returns down vector (0,-1,0)
Declaration
public static TheVector3 Down { get; }
Property Value
|
Improve this Doc
View Source
Forward
Returns forward vector (0,0,1)
Declaration
public static TheVector3 Forward { get; }
Property Value
|
Improve this Doc
View Source
Left
Returns down vector (-1,0,0)
Declaration
public static TheVector3 Left { get; }
Property Value
|
Improve this Doc
View Source
Length
Returns the length of the vector
Declaration
public float Length { get; }
Property Value
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
LengthSquared
Returns the squared length of the vector
Declaration
public float LengthSquared { get; }
Property Value
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
Normalized
Returns the normalized vector
Declaration
public TheVector3 Normalized { get; }
Property Value
|
Improve this Doc
View Source
Right
Returns down vector (1,0,0)
Declaration
public static TheVector3 Right { get; }
Property Value
|
Improve this Doc
View Source
Up
Returns up vector (0,1,0)
Declaration
public static TheVector3 Up { get; }
Property Value
|
Improve this Doc
View Source
Zero
Declaration
public static TheVector3 Zero { get; }
Property Value
Methods
|
Improve this Doc
View Source
AngleBetween(TheVector3, TheVector3)
Returns the angle in degrees between a and b.
Declaration
public static float AngleBetween(TheVector3 a, TheVector3 b)
Parameters
| Type |
Name |
Description |
| TheVector3 |
a |
The vector from which the angular difference is measured.
|
| TheVector3 |
b |
The vector to which the angular difference is measured.
|
Returns
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
CrossProduct(TheVector3, TheVector3)
Return Cross Product of two vectors.
Declaration
public static TheVector3 CrossProduct(TheVector3 a, TheVector3 b)
Parameters
Returns
|
Improve this Doc
View Source
Distance(TheVector3, TheVector3)
Returns the distance between a and b.
Declaration
public static float Distance(TheVector3 a, TheVector3 b)
Parameters
Returns
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
DotProduct(TheVector3, TheVector3)
Returns the Dot Product of given vectors
Declaration
public static float DotProduct(TheVector3 a, TheVector3 b)
Parameters
Returns
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
Equals(Object)
Declaration
public override bool Equals(object other)
Parameters
| Type |
Name |
Description |
| System.Object |
other |
|
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
System.Object.Equals(System.Object)
|
Improve this Doc
View Source
GetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
Overrides
System.Object.GetHashCode()
|
Improve this Doc
View Source
Lerp(TheVector3, TheVector3, Single)
Linearly interpolates between two vectors
Declaration
public static TheVector3 Lerp(TheVector3 a, TheVector3 b, float percent)
Parameters
Returns
|
Improve this Doc
View Source
LookRotation(TheVector3, TheVector3)
Returns rotation quaternion where the vector is facing
Declaration
public static TheQuaternion LookRotation(TheVector3 forward, TheVector3 up)
Parameters
Returns
|
Improve this Doc
View Source
Magnitude(TheVector3)
Returns the magnitude of the given vector
Declaration
public static float Magnitude(TheVector3 vector)
Parameters
| Type |
Name |
Description |
| TheVector3 |
vector |
The vector to return its magnitude
|
Returns
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
MoveTowards(TheVector3, TheVector3, Single)
Moves a point current in a straight line towards a target point.
Declaration
public static TheVector3 MoveTowards(TheVector3 position, TheVector3 target, float step)
Parameters
Returns
|
Improve this Doc
View Source
NLerp(TheVector3, TheVector3, Single)
Declaration
public static TheVector3 NLerp(TheVector3 a, TheVector3 b, float percent)
Parameters
Returns
|
Improve this Doc
View Source
Normalize(TheVector3)
Returns the normalized vector of the given vector
Declaration
public static TheVector3 Normalize(TheVector3 vector)
Parameters
| Type |
Name |
Description |
| TheVector3 |
vector |
The vector to return its normalized vector
|
Returns
|
Improve this Doc
View Source
Project(TheVector3, TheVector3)
Projects a vector onto another vector.
Declaration
public static TheVector3 Project(TheVector3 vector, TheVector3 normal)
Parameters
Returns
|
Improve this Doc
View Source
Reflect(TheVector3, TheVector3)
Reflects a vector off the plane defined by a normal.
Declaration
public static TheVector3 Reflect(TheVector3 direction, TheVector3 normal)
Parameters
Returns
RotateTowards(TheVector3, TheVector3, Single)
Declaration
public static TheVector3 RotateTowards(TheVector3 current, TheVector3 target, float angle)
Parameters
Returns
|
Improve this Doc
View Source
RotationToTarget(TheVector3, TheVector3)
Returns Rotation from one vector to another.
Declaration
public static TheQuaternion RotationToTarget(TheVector3 from, TheVector3 to)
Parameters
Returns
|
Improve this Doc
View Source
Scale(TheVector3)
Multiplies every component of this vector by the same component of scale.
Declaration
public void Scale(TheVector3 scale)
Parameters
|
Improve this Doc
View Source
Scale(TheVector3, TheVector3)
Multiplies two vectors component-wise.
Declaration
public static TheVector3 Scale(TheVector3 a, TheVector3 b)
Parameters
Returns
|
Improve this Doc
View Source
Set(Single, Single, Single)
Set x, y and z components of an existing Vector3.
Declaration
public void Set(float x, float y, float z)
Parameters
| Type |
Name |
Description |
| System.Single |
x |
|
| System.Single |
y |
|
| System.Single |
z |
|
|
Improve this Doc
View Source
Slerp(TheVector3, TheVector3, Single)
Spherically interpolates between two vectors
Declaration
public static TheVector3 Slerp(TheVector3 a, TheVector3 b, float percent)
Parameters
Returns
ToQuaternion()
Transforms the vector to Quaternion.
Declaration
public TheQuaternion ToQuaternion()
Returns
|
Improve this Doc
View Source
ToString()
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Overrides
System.Object.ToString()
Operators
|
Improve this Doc
View Source
Addition(TheVector3, TheVector3)
Declaration
public static TheVector3 operator +(TheVector3 a, TheVector3 b)
Parameters
Returns
|
Improve this Doc
View Source
Division(TheVector3, Single)
Declaration
public static TheVector3 operator /(TheVector3 a, float value)
Parameters
| Type |
Name |
Description |
| TheVector3 |
a |
|
| System.Single |
value |
|
Returns
|
Improve this Doc
View Source
Equality(TheVector3, TheVector3)
Declaration
public static bool operator ==(TheVector3 a, TheVector3 b)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Inequality(TheVector3, TheVector3)
Declaration
public static bool operator !=(TheVector3 a, TheVector3 b)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Multiply(Single, TheVector3)
Declaration
public static TheVector3 operator *(float value, TheVector3 a)
Parameters
| Type |
Name |
Description |
| System.Single |
value |
|
| TheVector3 |
a |
|
Returns
|
Improve this Doc
View Source
Multiply(TheVector3, Single)
Declaration
public static TheVector3 operator *(TheVector3 a, float value)
Parameters
| Type |
Name |
Description |
| TheVector3 |
a |
|
| System.Single |
value |
|
Returns
|
Improve this Doc
View Source
Multiply(TheVector3, TheVector3)
Declaration
public static TheVector3 operator *(TheVector3 a, TheVector3 b)
Parameters
Returns
|
Improve this Doc
View Source
Subtraction(TheVector3, TheVector3)
Declaration
public static TheVector3 operator -(TheVector3 a, TheVector3 b)
Parameters
Returns
|
Improve this Doc
View Source
UnaryNegation(TheVector3)
Subs current vector with given vector
Declaration
public static TheVector3 operator -(TheVector3 a)
Parameters
Returns


Despite the large number of quality models and publicly available quality assessment tools like PMD, Checkstyle, or FindBugs, very few studies have investigated the use of quality models by developers in their daily activities. One reason for this lack of studies is the absence of integrated environments for monitoring the evolution of software quality. We propose SQUANER (Software QUality ANalyzER), a framework for monitoring the evolution of the quality of object-oriented systems. SQUANER connects directly to the SVN of a system, extracts the source code, and perform quality evaluations and faults predictions every time a commit is made by a developer. After quality analysis, a feedback is provided to developers with instructions on how to improve their code.


|
OSAPI Plus
0.3
The Open System API for C++
|
Specialization class with a single occurrence of a process to support the current working process. More...
#include <current.hh>
Public Member Functions | |
| bool | clone (bool &isClone) |
| Clone the current process (Fork in UNIX systems) More... | |
| void | terminate (bool normal) |
| Terminate the current process. More... | |
| int64_t | getPID () |
| Get the current process ID. More... | |
| int64_t | getParentPID () |
| Obtain the Process ID of the parent process. More... | |
| bool | setSession () |
| Promote itself as session leader. More... | |
| bool | suspend () |
| Suspend the current working process. More... | |
| void | clearAllSignals () |
| Clear all process signals disposition in the current process. More... | |
| void | activateAllSignals () |
| Enable all planned signals disposition in the current process. More... | |
| Current (Current const &)=delete | |
| Current (Current &&)=delete | |
| Current & | operator= (Current const &)=delete |
| Current & | operator= (Current &&)=delete |
| Public Member Functions inherited from osapi::process::planSignal | |
| planSignal () | |
| Class constructor. More... | |
| ~planSignal () | |
| Class destructor. More... | |
| void | addSignal (process::signal &sig) |
| Add a new signal to the plan. More... | |
| void | eraseSignal (int signo) |
| Remove one signal from the plan. More... | |
| void | eraseAllSignals (void) |
| Remove all signals from the plan. More... | |
| Public Member Functions inherited from osapi::process::runner | |
| runner (int64_t pid) | |
| Class constructor. More... | |
| runner () | |
| Class constructor. More... | |
| ~runner () | |
| Class destructor. More... | |
| int64_t | getPID (void) |
| Get the process ID of the runner instance. More... | |
| int64_t | getParentPID (void) |
| Obtain the parent process ID of the runner instance. More... | |
| state | getState (void) |
| Get the state of an existing process. More... | |
| status | getStatus (void) |
| Get the status of an existing process. More... | |
| bool | terminate (size_t graceTime) |
| Terminate a process. More... | |
Static Public Member Functions | |
| static Current & | get () |
| Get the current singleton instance (only one running process) More... | |
| Static Public Member Functions inherited from osapi::process::runner | |
| static bool | exists (int64_t pid) |
| Check if a given process is running. More... | |
Additional Inherited Members | |
| Protected Attributes inherited from osapi::process::planSignal | |
| signal_list | sigList |
| std::mutex | signalMutex |
| Protected Attributes inherited from osapi::process::runner | |
| id::process | id |
Specialization class with a single occurrence of a process to support the current working process.
|
delete |
|
delete |
| void osapi::process::Current::activateAllSignals | ( | ) |
Enable all planned signals disposition in the current process.
| void osapi::process::Current::clearAllSignals | ( | ) |
Clear all process signals disposition in the current process.
| bool osapi::process::Current::clone | ( | bool & | isClone | ) |
Clone the current process (Fork in UNIX systems)
| [out] | isClone | - Indicates if the current process is the clone or the original |
|
static |
Get the current singleton instance (only one running process)
| int64_t osapi::process::Current::getParentPID | ( | void | ) |
Obtain the Process ID of the parent process.
| int64_t osapi::process::Current::getPID | ( | void | ) |
Get the current process ID.
| bool osapi::process::Current::setSession | ( | ) |
Promote itself as session leader.
| bool osapi::process::Current::suspend | ( | ) |
Suspend the current working process.
| void osapi::process::Current::terminate | ( | bool | normal | ) |
Terminate the current process.
| [in] | normal | - The exit is a normal exit or not? |


Big O Beginner's Guide
Disclaimer
I'm not a mathematician, so it's not going to be exact, but I'll try to give you an intuitive understanding of Big O
Big O (usually written as O(x), where x is a mathematical equation like 1, n, n^2 or 2^n, for example) is a mathematical expression which expresses how many steps an algorithm maximally will take to run.
Example 1
If you have an array or list and want to lookup the nth item, it will maximally take a so-called "constant time", expressed as O(1). This does not mean it literally takes 1 step, but it means that no matter how many items you have in your data structure, the amount of steps it takes to retrieve the nth item is always a constant amount (whether it's actually 1 step or 10 does not matter in practice).
Example 2
A lookup for a Tree structure takes up O(log n) steps, because you can (assuming the tree is sorted) eliminate the other branch every time you go left or right in the tree (see image below – If you choose 9, instead of 3, you won't need to check the 1 and 4)
Note that you may execute a few constant steps before that (like creating a variable to save the answer in, so you can return that), but since O(log n)'s runtime overshadows that of any O(1) code, we only note the O(log n) part.
Example 3
If you want to find whether your array or list contains an a certain item (assuming it's an unsorted list), it will take O(n) steps, because each item has to be checked once to see if that's the item you're looking for.
If you have a list with 10 items and the last item is the one you're looking for, it will take 10 steps.
Again, if your algorithm has a part that happens to be O(1) or O(log n) (just as an example), you still note it down as O(n), because O(n) overshadows the runtime of O(1) and O(log n). Say you do, for some unknown reason, want to jot down the exact Big O, you'd write it down as O(log n + n), but that's not what you'll see in practice. You can see what I mean, visually speaking, under the "Visually speaking" paragraph. :^)
Most of the Big O notations
Now that you're getting the gist: I've copied a small, simplified, list of possible Big O expressions from Wikipedia. It's sorted from shortest to longest runtime. The italic rows are the ones I've seen most common.
n is the amount of items that's fed to the algorithm, c is a constant number for that specific algorithm (usually it's either 2 or 3, though I don't guarantee it)
| Notation | Name |
|---|---|
| O(1) | constant – An array lookup, like list[2] |
| O(log log n) | double logarithmic |
| O(log n) | logarithmic – Lookup in a sorted, binary tree |
| O((log n)^c) | polylogarithmic |
| O(n^c) | fractional power |
| O(n) | linear – for-loops |
| O(n log n) = O(log n!) | linearithmic, loglinear, or quasilinear |
| O(n^2) | quadratic – 'double for' loop, or "a for-loop in a for-loop" |
| O(n^c) | polynomial or algebraic |
| O(c^n) | exponential |
| O(n!) | factorial |
For the full table: Wikipedia/Big_O_notation
Another great wiki article is Wikipedia/Time_complexity
Visually speaking
Anything after O(n) should be tried to be avoided (though some algorithms, like turning two lists into Cartesian product/table, or perhaps a naive implementation of generating Fibonacci number for example) are currently not faster than say 2^n (though there are faster implementations known for the Fibonacci number generator), which means you can't always avoid it. As far as I know, we don't mathematically know if it's provable to find a faster algorithm for current algorithms.
You can see why you should avoid anything >O(n) here, as the rate of growth just shoots off the chart:
A bit of trivia
There's a thing in the mathematical world called P=NP, which states "It asks whether every problem whose solution can be quickly verified can also be solved quickly". In concrete form: A Sudoku puzzle can be verified to be correct in a relatively short time, yet not solved in a relatively short time. P basically means "polynomial" and NP "exponential" or even "factorial". Do note that this is not mathematically correct, but I'm not also going into what the hell "nondeterministic polynomial time" is. That's a bit out of the scope of this tutorial.
Anyway, this P=NP thing is currently still a mathematically unsolved problem within Computer Science, so maybe (if you're smarter than me) you can possibly solve this in the future.
Closing words
I hope this short intro into Big O has been of help to you 🙂
PS: Note that there are other so called asymptotic notations (of which Big O is one), like o (little-o), Ω (Big-Omega), ω(little-omega, and Θ (theta).


U.K.’s Labour promises radical changes if it wins
It vows to pursue nationalisation policy
by Associated PressBritain’s main opposition Labour Party promised on Thursday to radically expand public spending and State ownership if it wins the December 12 election, trying to close an opinion-poll gap with the governing Conservatives.
The party said a Labour government would nationalise Britain’s railways, energy utilities and postal system, cap rents, hike the minimum wage and abolish university tuition fees.
Labour leader Jeremy Corbyn called the platform a “manifesto of hope.” Critics called it a pipe dream.
Prime Minister Boris Johnson pushed for Britain to hold the December election, which is taking place more than two years early, in hopes winning a majority and breaking Britain’s political impasse over Brexit. All 650 seats in the House of Commons are up for grabs.
Labour’s ambitious manifesto is an attempt to shift the focus of the campaign from Britain’s stalled departure from the European Union and onto the country’s fraying social fabric, stressed after a decade of austerity measures under Conservative-led governments.
The platform revives policies of nationalisation and central government control that have been jettisoned since the 1980s.


Ocean [ac49], ocean, in Crystal Sea
Last updated Turn #66
Ocean [ac49], ocean, in Crystal Sea
------------------------------------------------------------------------
16: Fast Sail [ht2u], ship, 3 hulls, 1 rowing port, 9 sails, arrived from
16: Ocean [ad49], owner:
16: Stewart [k0u], Pen, with 12 sailors
17: Fast Sail [ht2u], ship, 3 hulls, 1 rowing port, 9 sails, departed for
17: Ocean [ab49].
30: The fog has cleared.
Routes leaving Ocean:
North, to Ocean [ab49], 6 days
East, to Ocean [ac50], 6 days
South, to Ocean [ad49], 6 days
West, to Ocean [ac48], 6 days


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import models.request.AuthenticatedRequest @import models.viewmodels.{NoTabSelected, PrimaryNavigationTab} @import views.html.includes.govuk_wrapper @import config.AppConfig @import views.html.helper.CSPNonce @this( config: AppConfig, govukWrapper: govuk_wrapper, primary_navigation: components.primary_navigation ) @( pageTitle: String, backLink: Option[Html] = None, optCustomLayout: Option[Html => Html] = None, additionalJS: Option[Html] = None, additionalCSS: Option[Html] = None, endOfBodyJS: Option[Html] = None, customPrimaryNavTab: PrimaryNavigationTab = NoTabSelected, subNavigationTab: Option[Html] = None )(contentBlock: Html)(implicit request: AuthenticatedRequest[_], messages: Messages) @head = { @additionalJS.getOrElse({}) @additionalCSS.getOrElse({}) } @beforeContentBlock = {


Welcome to MWeb
What is MWeb? MWeb is a Pro Markdown writing, note taking and static blog generator App.
MWeb has two Mode, External Mode and Library Mode.
In External Mode, you can edit classic text and markdown files from anywhere on your Mac. As an example, you can point MWeb to a folder on Dropbox. Shortcuts CMD + E
or View
- Open External
to open External Mode.
Library Mode design for note taking and static blog/website generator. Shortcuts CMD + L
or View
- Open Library
to open Library Mode.
External Mode's folders and Library Mode are supported Full Text Search, drag & drop or paste to insert images.
View Mode and Live Preview
For Minimal UI, MWeb's interface only has a few buttons. The right-top corner buttons shortcuts: CMD + 7/8/9
. CMD + 7
is Library Mode only. For enable Typewriter Scrolling, Dark Mode and switch panes, please check the View
menu.
- Shortcut:
CMD + 1
to toggle Editor Only and Three Panes. - Shortcut:
CMD + 2
to toggle Two Panes and Editor Only. - Shortcut:
CMD + 3
to toggle Three Panes and Editor Only. - Shortcut:
CMD + 4
to toggle Editor/Preview and Three Panes. - Shortcut:
CMD + R
to toggle Editor and Live Preview.
Note: When Preferences
- General
- Resize window when hide pane
is enable, shortcuts CMD + 1/2/3/4
behavior will be changed. You can enable this option and try it. When the Live Preview (CMD + R) open new window
is enable, shortcut CMD + R
will open new window for Live Preview.
More about MWeb
- MWeb used Github Flavored Markdown syntax, please open
Help
-Markdown syntax
for detail. - MWeb official website: http://www.mweb.im
- MWeb documents:
Help
-Help...
or http://www.mweb.im/help.html.
Help us to make MWeb better!
- Tell your friends about MWeb.
- Send a feedback<EMAIL_ADDRESS>- Leave a review or at least a rating in Mac App Store.


scone.input
-
Declaration
struct
InputEvent
;Key event structure Contains general information about a key press
-
Declaration
this(SK
key
, SCKcontrolKey
, boolpressed
);Initialize an InputEvent
-
Declaration
@property auto
key
();Get the
key
Return Value
SK (enum) of the
key
being pressed -
Declaration
@property auto
pressed
();Check if the button is
pressed
or released.Return Value
bool,
true
ifpressed
,false
if not -
Declaration
auto
hasControlKey
(SCKck
);Check if the InputEvent has a "control key" pressed.
Return Value
true
, if all control keys entered are pressedExample:
foreach(input; getInputs()) { if(input.hasControlKey(ControlKey.CTRL | ControlKey.ALT | ControlKey.SHIFT)) { //do something if CTRL, ALT and SHIFT are held down... } }
-
Declaration
@property auto
controlKey
();Get control all keys. Used to check if ONLY specific control keys are activated.
Return Value
SCK (enum)
Example:
foreach(input; getInputs()) { if(input.controlKey == ControlKey.CTRL | ControlKey.SHIFT) { //do something if only CTRL and SHIFT are held down... } }
-
Declaration
@property auto
keySequences
();Note: POSIX only. Get the ASCII-code sequence returned from the keypress on POSIX systems.
Return Value
uint[]
-
-
Declaration
enum
SK
: int;All keys which scone can handle
NOTE: Limited support for POSIX
-
Declaration
unknown
Unknown key (Should never appear. If it does, please report bug)
-
Declaration
cancel
Control-break processing
-
Declaration
backspace
BACKSPACE key
-
Declaration
del
DEL key
-
Declaration
tab
TAB key
-
Declaration
enter
ENTER key
-
Declaration
escape
ESC key
-
Declaration
space
SPACEBAR
-
Declaration
page_up
PAGE UP key
-
Declaration
page_down
PAGE DOWN key
-
Declaration
end
END key
-
Declaration
home
HOME key
-
Declaration
left
LEFT ARROW key
-
Declaration
up
UP ARROW key
-
Declaration
right
RIGHT ARROW key
-
Declaration
down
DOWN ARROW key
-
Declaration
key_0
0 key
-
Declaration
key_1
1 key
-
Declaration
key_2
2 key
-
Declaration
key_3
3 key
-
Declaration
key_4
4 key
-
Declaration
key_5
5 key
-
Declaration
key_6
6 key
-
Declaration
key_7
7 key
-
Declaration
key_8
8 key
-
Declaration
key_9
9 key
-
Declaration
a
A key
-
Declaration
b
B key
-
Declaration
c
C key
-
Declaration
d
D key
-
Declaration
e
E key
-
Declaration
f
F key
-
Declaration
g
G key
-
Declaration
h
H key
-
Declaration
i
I key
-
Declaration
j
J key
-
Declaration
k
K key
-
Declaration
l
L key
-
Declaration
m
M key
-
Declaration
n
N key
-
Declaration
o
O key
-
Declaration
p
P key
-
Declaration
q
Q key
-
Declaration
r
R key
-
Declaration
s
S key
-
Declaration
t
T key
-
Declaration
u
U key
-
Declaration
v
V key
-
Declaration
w
W key
-
Declaration
x
X key
-
Declaration
y
Y key
-
Declaration
z
Z key
-
Declaration
numpad_0
Numeric keypad 0 key
-
Declaration
numpad_1
Numeric keypad 1 key
-
Declaration
numpad_2
Numeric keypad 2 key
-
Declaration
numpad_3
Numeric keypad 3 key
-
Declaration
numpad_4
Numeric keypad 4 key
-
Declaration
numpad_5
Numeric keypad 5 key
-
Declaration
numpad_6
Numeric keypad 6 key
-
Declaration
numpad_7
Numeric keypad 7 key
-
Declaration
numpad_8
Numeric keypad 8 key
-
Declaration
numpad_9
Numeric keypad 9 key
-
Declaration
plus
For any country/region, the '+' key
-
Declaration
minus
For any country/region, the '-' key
-
Declaration
period
For any country/region, the '.' key
-
Declaration
comma
For any country/region, the ',' key
-
Declaration
asterisk
Asterisk key
-
Declaration
divide
Divide key
-
Declaration
f1
F1 key
-
Declaration
f2
F2 key
-
Declaration
f3
F3 key
-
Declaration
f4
F4 key
-
Declaration
f5
F5 key
-
Declaration
f6
F6 key
-
Declaration
f7
F7 key
-
Declaration
f8
F8 key
-
Declaration
f9
F9 key
-
Declaration
f10
F10 key
-
Declaration
f11
F11 key
-
Declaration
f12
F12 key
-
Declaration
f13
F13 key
-
Declaration
f14
F14 key
-
Declaration
f15
F15 key
-
Declaration
f16
F16 key
-
Declaration
f17
F17 key
-
Declaration
f18
F18 key
-
Declaration
f19
F19 key
-
Declaration
f20
F20 key
-
Declaration
f21
F21 key
-
Declaration
f22
F22 key
-
Declaration
f23
F23 key
-
Declaration
f24
F24 key
-
Declaration
oem_1
oem_2
oem_3
oem_4
oem_5
oem_6
oem_7
oem_8
Used for miscellaneous characters; it can vary by keyboard.
-
Declaration
oem_102
Either the angle bracket key or the backslash key on the RT 102-key keyboard
-
-
Declaration
enum
SCK
: int;Control keys
-
Declaration
none
No control key is being pressed
-
Declaration
capslock
CAPS LOCK light is activated
-
Declaration
numlock
NUM LOCK is activated
-
Declaration
scrolllock
SCROLL LOCK is activated
-
Declaration
shift
SHIFT key is pressed
-
Declaration
enhanced
The key is
enhanced
(?) -
Declaration
alt
Left or right ALT key is pressed
-
Declaration
ctrl
Left or right CTRL key is pressed
-
-
Declaration
struct
InputSequence
;Wrapper for an input sequence sent by the POSIX terminal An input from the terminal is given by numbers in sequence
Discussion
For example, the right arrow key might send "27, 91, 67", and will be stored as [27, 91, 67]
when on posix, a list of keypresses is loaded and used -
Declaration
InputEvent
eventFromSequence
(InputSequenceiseq
);get InputEvent from sequence
Discussion
when on posix, a list of keypresses is loaded and used
-
Declaration
void
loadInputSequneces
();use input_sequences as default keymap
Discussion
when on posix, a list of keypresses is loaded and used


| DOSE: |
300 mg |
oral |
MDA |
(powder / crystals) |
Well I usually can get MDMA. I have a friend that knows a chemist that decided to do a huge batch of MDA. I have done E at least a hundred times so this was going to be something different yet a little familiar I was told.
We received our stash in powder form and downed it in parachutes (toilet paper squares). Within 45 minutes I started to get the head rush that E gives but something was different. It was like I was having a panic attack and orgasm at the same time.
I usually puke on really good E but this stuff was so overwhelming that I couldn't even get the energy to puke. I just layed on the ground and was completely in awe at what I was feeling.
The peak didn't even hit until about 2 hours later and just kept cruising along for about 3 hours. Thats right I said a 3 hour peak. I love this stuff. Much longer lasting and more 'mellow' than X. I bet if the government made this stuff legal we'd be out of debt in 3 months. I found a new best friend.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


| Desert Peaks Section [Map, MapGL, SP] | ||||||||||||
Columns:
Land Management Climbed Rows: Suspended Peaks Delisted Peaks Colors: | ||||||||||||
| 1. Trans-Sierra — Mono and Inyo Counties | ||||||||||||
| 1.1 | Mount Patterson | Humboldt-Toiyabe National Forest | 11,673 11673' (NGVD 29) USGS 7.5' Quad (1:24,000) "Mount Patterson, CA" (1989) |
Class 1 | 4,173 | SP | W | BB | LoJ | Pb | WX | 6/17/2015 solo |
| 1.2 | Glass Mountain | Inyo National Forest | 11,140 11140' (NGVD 29) USGS 7.5' Quad (1:24,000) "Glass Mountain, CA" (1986) 11,160+ 11160-11199' (NGVD 29) USGS 7.5' Quad (1:24,000) "Glass Mountain, CA" (1994/1997) |
Class 1 | 3,210 | SP | W | BB | LoJ | Pb | WX | 6/14/2014 solo |
| ||||||||||||
| 1.3 | Boundary Peak | Inyo National Forest Boundary Peak Wilderness HP |
13,147 4007.1m (NAVD 88) NGS Data Sheet "Boundary" (HR2576) 13,140 13140' (NGVD 29) USGS 7.5' Quad (1:24,000) "Boundary Peak, NV" (1987) 13,140 13140' (MSL) USGS 15' Quad (1:62,500) "Benton, CA" (1962/1969) 13,145 13145' (MSL) USGS 60' Quad (1:250,000) "Mariposa, CA" (1963) |
Class 2 | 253 | SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 1.4 | Montgomery Peak ** | Inyo National Forest White Mountains Wilderness |
13,441 13441' (NGVD 29) USGS 7.5' Quad (1:24,000) "Boundary Peak, NV" (1987) |
Class 2 | 1,261 13,441 - (12,200 - 40/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 1.5 | Mount Dubois | Inyo National Forest White Mountains Wilderness |
13,559 13559' (NGVD 29) USGS 7.5' Quad (1:24,000) "Boundary Peak, NV" (1987) |
Class 2 | 2,339 | SP | BB | LoJ | Pb | WX | ||
| 1.6 | White Mountain Peak | Inyo National Forest | 14,252 4344.0m (NAVD 88) NGS Data Sheet "White Mountain Peak" (HR2559) 14,246 14246' (NGVD 29) USGS 7.5' Quad (1:24,000) "White Mtn. Peak, CA" (1994/1997) |
Class 1 | 7,196 | SP | W | BB | LoJ | Pb | WX | 7/18/2012 with John Henry |
| 1.7 | Waucoba Mountain | Inyo National Forest Inyo Mountains Wilderness HP |
11,128 3391.8m (NAVD 88) NGS Data Sheet "Waucoba" (HR2612) 11,123 11123' (NGVD 29) USGS 7.5' Quad (1:24,000) "Waucoba Mtn., CA" (1990/1995) |
Class 2 | 3,943 | W | BB | LoJ | Pb | WX | ||
| 1.8 | Mount Inyo ** | Inyo Mountains Wilderness | 10,975 10975' (NGVD 29) USGS 7.5' Quad (1:24,000) "New York Butte, CA" (1987) 11,107 11107' (MSL) USGS 15' Quad (1:62,500) "New York Butte, CA" (1950/1972) |
Class 2 | 955 | SP | BB | LoJ | Pb | WX | ||
| 1.9 | Keynot Peak | Inyo Mountains Wilderness | 11,110 3386.2m (NAVD 88) NGS Data Sheet "Monarch" (GS0832)
"The station is located on the highest peak in the Inyo Range, 11,125 feet high, and lying 10 miles airline NE of Lone Pine. From Lone Pine the peak is the central peak of three on the skyline, and has a sharp peak. Station is on the westernmost point of three on the summit of the peak, and about 4 feet lower than the highest point." (1934) "The station is located on the highest peak of the Inyo Mountains ... It is set flush about 25 yards west of and 15 feet lower than the highest point of the peak." (1950) "The station is located on a high peak locally known as Keynote Mountain in the Inyo Range, which is 10 miles northeast of Lone Pine, 25 yards west and 4 feet lower than the highest point of the mountain." (1956) 11,101 11101' (NGVD 29) USGS 7.5' Quad (1:24,000) "New York Butte, CA" (1987) 11,101 11101' (MSL) USGS 15' Quad (1:62,500) "New York Butte, CA" (1950/1972) |
Class 2 | 3,063 | SP | BB | LoJ | Pb | WX | ||
| 1.10 | New York Butte | Inyo Mountains Wilderness | 10,668 10668' (NGVD 29) USGS 7.5' Quad (1:24,000) "New York Butte, CA" (1987) 10,668 10668' (MSL) USGS 15' Quad (1:62,500) "New York Butte, CA" (1950/1972) |
Class 1 | 1,168 | BB | LoJ | Pb | WX | |||
| 1.11 | Pleasant Point | BLM Ridgecrest | 9,690 9690' (NGVD 29) USGS 7.5' Quad (1:24,000) "Cerro Gordo Peak, CA" (1987) |
Class 1 | 1,150 9,690 - (8,560 - 40/2) (LoJ) |
SP | BB | LoJ | Pb | WX | ||
| 1.12 | Nelson Range HP (Galena Benchmark) |
Death Valley National Park | 7,698 2346.4m (NAVD 88) NGS Data Sheet "Galena" (GS0828) 7,696 7696' (NGVD 29) USGS 7.5' Quad (1:24,000) "Nelson Range, CA" (1987) |
Class 2 | 1,676 | SP | W | BB | LoJ | Pb | WX | |
| 1.13 | Maturango Peak | NAWS China Lake | 8,841 2694.8m (NAVD 88) NGS Data Sheet "Maturango 2" (GS0803) 8,839 8839' (NGVD 29) USGS 7.5' Quad (1:24,000) "Maturango Peak, CA" (1982/1983) |
Class 2 | 3,659 | SP | W | BB | LoJ | Pb | WX | |
| 1.14 | Argus Peak | NAWS China Lake | 6,562 6562' (NGVD 29) USGS 7.5' Quad (1:24,000) "Trona West, CA" (1983) |
Class 1 | 1,662 | W | BB | LoJ | Pb | WX | ||
| 2. Death Valley — Inyo County | ||||||||||||
| 2.1 | Last Chance Mountain | Death Valley National Park | 8,463 2579.4m (NAVD 88) NGS Data Sheet "White Top" (HQ0929) 8,456 8456' (NGVD 29) USGS 7.5' Quad (1:24,000) "Last Chance Mtn., CA" (1987) 8,456 8456' (MSL) USGS 15' Quad (1:62,500) "Magruder Mtn., NV" (1957/1964) |
Class 1 | 2,396 | SP | W | BB | LoJ | Pb | WX | |
| 2.2 | Sandy Point | Death Valley National Park | 7,062 | Class 1 | 1,642 | SP | W | BB | LoJ | Pb | WX | |
| 2.3 | Dry Mountain | Death Valley National Park | 8,674 | Class 2 | 3,614 | SP | W | BB | LoJ | Pb | WX | |
| 2.4 | Tin Mountain | Death Valley National Park | 8,953 | Class 2 | 4,013 | SP | W | BB | LoJ | Pb | WX | |
| 2.5 | Panamint Butte | Death Valley National Park | 6,584 | Class 2 | 524 | SP | BB | LoJ | Pb | WX | ||
| 2.6 | Tucki Mountain | Death Valley National Park | 6,736 2053.0m (NAVD 88) NGS Data Sheet "Death Reset" (GS0796) 6,726 6726' (NGVD 29) USGS 7.5' Quad (1:24,000) "Emigrant Canyon, CA" (1986) 6,732 6732' (NGVD 29) USGS 15' Quad (1:62,500) "Emigrant Canyon, CA" (1952/1980) |
Class 1 | 1,866 | SP | BB | LoJ | Pb | WX | ||
| 2.7 | Telescope Peak ** | Death Valley National Park HP | 11,043 3366m (NAVD 88) NGS Data Sheet "Telescope" (GS0799) 11,048 11048' (NGVD 29) USGS 7.5' Quad (1:24,000) "Telescope Peak, CA" (1998/2002) 11,049 11049' (MSL) USGS 15' Quad (1:62,500) "Telescope Peak, CA" (1952/1973) |
Class 1 | 6,188 | SP | W | BB | LoJ | Pb | WX | 6/16/2014 solo |
| ||||||||||||
| 2.8 | Sentinel Peak | Death Valley National Park | 9,637 2937.5m (NAVD 88) NGS Data Sheet "Panamint" (GS0802) 9,634 9634' (NGVD 29) USGS 7.5' Quad (1:24,000) "Panamint, CA" (1988) 9,636 9636' (MSL) USGS 15' Quad (1:62,500) "Telescope Peak, CA" (1952/1973) |
Class 1 | 1,574 | BB | LoJ | Pb | WX | 11/2/2014 with Yann and Annika | ||
| ||||||||||||
| 2.9 | Porter Peak | Death Valley National Park | 9,101 9101' (NGVD 29) USGS 7.5' Quad (1:24,000) "Panamint, CA" (1988) 9,101 9101' (MSL) USGS 15' Quad (1:62,500) "Telescope Peak, CA" (1952/1973) |
Class 1 | 521 9,101 - (8,600 - 40/2) (LoJ/Pb) |
BB | LoJ | Pb | WX | |||
| 2.10 | Manly Peak | Death Valley National Park Manly Peak Wilderness HP |
7,196 2193.3m (NGVD 29) USGS 7.5' Quad (1:24,000) "Manly Peak, CA" (1984/1985) 7,196 7196' (MSL) USGS 15' Quad (1:62,500) "Manly Peak, CA" (1950/1957) |
Class 1s3 | 2,554 2193.3m - (1420m - 10m/2) (LoJ/Pb) |
SP | BB | LoJ | Pb | WX | ||
| 2.11 | Needle Peak | Death Valley National Park | 5,803 1768.8m (NGVD 29) USGS 7.5' Quad (1:24,000) "Manly Peak, CA" (1984/1985) 5,805 5805' (MSL) USGS 15' Quad (1:62,500) "Manly Peak, CA" (1950/1957) |
Class 2 | 1,653 | BB | LoJ | Pb | WX | |||
| 2.12 | Grapevine Peak | Death Valley National Park | 8,743 2664.8m (NAVD 88) NGS Data Sheet "Grape Reset" (GS0784) 8,738 8738' (NGVD 29) USGS 7.5' Quad (1:24,000) "Grapevine Peak, NV" (1988) |
Class 1 | 4,562 8,738 - 4,176 (Pb) 4,558 8,738 - (4,200 - 40/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 2.13 | Mount Palmer | Death Valley National Park | 7,958 | Class 2 | 738 | SP | BB | LoJ | Pb | WX | ||
| 2.14 | Corkscrew Peak | Death Valley National Park | 5,804 | Class 2 | 664 | SP | BB | LoJ | Pb | WX | ||
| 2.15 | Pyramid Peak | Death Valley National Park | 6,703 | Class 2 | 3,723 | SP | W | BB | LoJ | Pb | WX | |
| 2.16 | Smith Mountain | Death Valley National Park | 5,915 1803.0m (NAVD 88) NGS Data Sheet "Smith Mountain" (GS0906)
(West Summit)
"The station is located about 32 miles air line southeast of
Furnace Creek and about 1/8 mile west southwest of and 25 feet
lower than the highest point of the Smith Mountains."
5,913 5913' (NGVD 29) USGS 7.5' Quad (1:24,000) "Gold Valley, CA" (1988)
(West Summit)
5,880+ 5880-5919' (NGVD 29) USGS 7.5' Quad (1:24,000) "Gold Valley, CA" (1988)
(East Summit)
5,912 5912' (MSL) USGS 15' Quad (1:62,500) "Funeral Peak, CA" (1951/1973)
(West Summit)
5,960+ 5960-5999' (MSL) USGS 15' Quad (1:62,500) "Funeral Peak, CA" (1951/1973)
(East Summit)
|
Class 1 | 1,613 | SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 2.17 | Eagle Mountain | Resting Spring Range Wilderness | 3,811 1161.7m (NAVD 88) NGS Data Sheet "Eagle Mountain Target" (GS0871) 3,806 3806' (NGVD 29) USGS 7.5' Quad (1:24,000) "Eagle Mtn., CA" (1988) 3,806 3806' (MSL) USGS 15' Quad (1:62,500) "Eagle Mtn., CA" (1951/1966) |
Class 3 | 1,666 | SP | BB | LoJ | Pb | WX | ||
| 2.18 | Brown Peak | Death Valley National Park | 4,947 1507.7m (NAVD 88) NGS Data Sheet "Evelyn" (GS0872) 4,947 4947' (NGVD 29) USGS 7.5' Quad (1:24,000) "Deadman Pass, CA" (1987) 4,947 4947' (MSL) USGS 15' Quad (1:62,500) "Eagle Mtn., CA" (1951/1966) |
Class 2 | 1,684 | SP | W | BB | LoJ | Pb | WX | |
| 2.19 | Stewart Point | Resting Spring Range Wilderness HP | 5,265 1604.7m (NGVD 29) USGS 7.5' Quad (1:24,000) "Stewart Valley, CA" (1984) 5,264 5264' (MSL) USGS 15' Quad (1:62,500) "Stewart Valley, CA" (1958/1964) |
Class 2 | 2,394 1604.7m - (880m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 2.20 | Pahrump Point | Nopah Range Wilderness | 5,740 1749.6m (NGVD 29) USGS 7.5' Quad (1:24,000) "Twelvemile Spring, CA" (1984) 5,740 5740' (MSL) USGS 15' Quad (1:62,500) "Stewart Valley, CA" (1958/1964) |
Class 2 | 344 | SP | W | BB | LoJ | Pb | WX | |
| 2.21 | Nopah Range HP | Nopah Range Wilderness HP | 6,394 1948.9m (NGVD 29) USGS 7.5' Quad (1:24,000) "Nopah Peak, CA" (1984) |
Class 2 | 3,589 1948.9m - (860m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 2.22 | Canyon Point | Death Valley National Park | 5,890 5890' (NGVD 29) USGS 7.5' Quad (1:24,000) "Harris Hill, CA" (1986/1987) 5,890 5890' (MSL) USGS 15' Quad (1:62,500) "Marble Canyon, CA" (1951/1972) |
Class 1 | 1,110 | W | BB | LoJ | Pb | WX | ||
| 3. San Bernardino County | ||||||||||||
| 3.1 | Avawatz Peak | Avawatz Mountains Wilderness HP | 6,158 1876.9m (NAVD 88) NGS Data Sheet "Avawatz" (FT1472) 6,154 1875.8m (NGVD 29) USGS 7.5' Quad (1:24,000) "Sheep Creek Spring, CA" (1996/1998) 6,154 6154' (MSL) USGS 15' Quad (1:62,500) "Avawatz Pass, CA" (1951) |
Class 1 | 3,304 1875.8m - (2,860 - 20/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.2 | Kingston Peak | Kingston Range Wilderness HP | 7,336 2236m (NGVD 29) USGS 7.5' Quad (1:24,000) "Kingston Peak, CA" (1984/1985) 7,323 7323' (NGVD 29) USGS 15' Quad (1:62,500) "Kingston Peak, CA" (1955/1975) |
Class 2 | 3,753 2236m - 1092.1m (LoJ) 3,743 2236m - (1100m - 10m/2) (Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.3 | Clark Mountain | Mojave National Preserve HP | 7,933 2418.1m (NAVD 88) NGS Data Sheet "Clark" (FS1316) 7,907+ 2410-2419m (NGVD 29) USGS 7.5' Quad (1:24,000) "Clark Mtn., CA" (1985) 7,929 7929' (NGVD 29) USGS 15' Quad (1:62,500) "Clark Mountain, CA" (1956/1975) |
Class 3 | 4,281 (2410m + 10m/2) - (1120m - 20m/2) (Pb) 4,287 7,929 - (1120m - 20m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 3.4 | New York Mountains HP | Mojave National Preserve | 7,536 2296.9m (NAVD 88) NGS Data Sheet "New York 2" (FS1400) 7,532 2295.8m (NGVD 29) USGS 7.5' Quad (1:24,000) "Ivanpah, CA" (1983/1985) 7,532 7532' (MSL) USGS 15' Quad (1:62,500) "Ivanpah, CA" (1956/1963) |
Class 3 | 3,349 | SP | W | BB | LoJ | Pb | WX | |
| 3.5 | Old Dad Mountain | Mojave National Preserve | 4,253 1296.2m (NAVD 88) NGS Data Sheet "Old Dad Mountain" (FS1269) 4,252 1295.9m (NGVD 29) USGS 7.5' Quad (1:24,000) "Old Dad Mountain, CA" (1983) 4,250 4250' (MSL) USGS 15' Quad (1:62,500) "Old Dad Mountain, CA" (1956/1974) |
Class 2 | 1,217 1295.9m - (930m - 10m/2) (LoJ) |
W | BB | LoJ | Pb | WX | ||
| 3.6 | Mitchell Point | Mojave National Preserve | 7,051 2149.1m (NAVD 88) NGS Data Sheet "Mitchell" (EU1232) 7,048 2148.2m (NGVD 29) USGS 7.5' Quad (1:24,000) "Fountain Peak, CA" (1985) 7,048 7048' (NGVD 29) USGS 15' Quad (1:62,500) "Flynn, CA" (1956/1978) |
Class 2 | 913 2148.2m - (1880m - 20m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 3.7 | Edgar Peak | Providence Mountains SRA HP | 7,162 2183m (NGVD 29) USGS 7.5' Quad (1:24,000) "Fountain Peak, CA" (1985) |
Class 2 | 2,224 2183m - (1510m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.8 | Granite Mountains HP (Granite Peak) |
Mojave National Preserve | 6,762 2061m (NGVD 29) USGS 7.5' Quad (1:24,000) "Bighorn Basin, CA" (1984/1985) |
Class 2 | 2,808 | SP | W | BB | LoJ | Pb | WX | |
| 3.9 | East Ord Mountain | BLM Barstow | 6,168 6168' (NGVD 29) USGS 7.5' Quad (1:24,000) "Ord Mountain, CA" (1982/1993) |
Class 1 | 1,508 6,168 - (4,680 - 40/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | 3/24/2017 solo |
| ||||||||||||
| 3.10 | Old Woman Mountains HP | Old Woman Mountains Wilderness HP | 5,327 1623.8m (NAVD 88) NGS Data Sheet "Woman" (EU1107) 5,325 1623m (NGVD 29) USGS 7.5' Quad (1:24,000) "Old Woman Statue, CA" (1985) 5,326 5326' (MSL) USGS 15' Quad (1:62,500) "Essex, CA" (1956/1965) 5,326 5326' USGS 60' Quad (1:250,000) "Needles, CA" (1956/1972) |
Class 2 | 2,741 | SP | W | BB | LoJ | Pb | WX | |
| 3.11 | Sheep Hole Mountains HP | Sheephole Valley Wilderness HP | 4,593+ 1400-1409m (NGVD 29) USGS 7.5' Quad (1:24,000) "Dale Lake, CA" (1985/1995) 4,613 4613' (MSL) USGS 15' Quad (1:62,500) "Dale Lake, CA" (1956/1963) |
Class 2 | 2,231 (1400m + 10m/2) - (730m - 10m/2) (LoJ) 2,234 4,613 - (730m - 10m/2) (Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.12 | Stepladder Mountains HP | Stepladder Mountains Wilderness HP | 2,927 892m (NGVD 29) USGS 7.5' Quad (1:24,000) "Stepladder Mountains, CA" (1985) 2,920+ 890-899m (NGVD 29) USGS 7.5' Quad (1:24,000) "Stepladder Mountains, CA" (1985) 2,951 2951' (MSL) USGS 15' Quad (1:62,500) "Stepladder Mts., CA" (1956/1964) |
Class 2 | 787 (890m + 10m/2) - (660m - 10m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 3.13 | Chemehuevi Peak | Chemehuevi Mountains Wilderness HP | 3,697 1126.9m (NAVD 88) NGS Data Sheet "Chemehuevis" (EU1077) 3,694 3694' (MSL) USGS 7.5' Quad (1:24,000) "Chemehuevi Peak, CA" (1971/1973) |
Class 2 | 1,794 3,694 - (1,920 - 40/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.14 | Turtle Mountains HP | Turtle Mountains Wilderness HP | 4,298+ 1310-1319m (NGVD 29) USGS 7.5' Quad (1:24,000) "Mopah Peaks, CA" (1985) 4,313 4313' (MSL) USGS 15' Quad (1:62,500) "Turtle Mountains, CA" (1954/1974) |
Class 2 | 2,690 (1310m + 10m/2) - (500m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 3.15 | Mopah Point | Turtle Mountains Wilderness | 3,530 1076m (NGVD 29) USGS 7.5' Quad (1:24,000) "Mopah Peaks, CA" (1985) |
Class 3 | 955 1076m - (790m - 10m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 3.16 | Whipple Mountains HP | Whipple Mountains Wilderness HP | 4,132 1259.3m (NAVD 88) NGS Data Sheet "Axtel" (EU0995) 4,130 4130' (MSL) USGS 7.5' Quad (1:24,000) "Whipple Mts. SW, CA" (1970/1973) 4,131 4131' (MSL) USGS 15' Quad (1:62,500) "Whipple Mts., CA" (1950/1971) |
Class 1 | 2,800 | SP | W | BB | LoJ | Pb | WX | |
| 4. Riverside County | ||||||||||||
| 4.1 | Martinez Mountain | San Bernardino National Forest Santa Rosa Wilderness Santa Rosa and San Jacinto Mountains NM |
6,562 6562' (NGVD 29) USGS 7.5' Quad (1:24,000) "Martinez Mountain, CA" (1996/1999) 6,560+ 6560-6599' (NGVD 29) USGS 7.5' Quad (1:24,000) "Martinez Mountain, CA" (1996/1999) |
Class 2 | 1,702 6,562 - (4,880 - 40/2) (LoJ) |
W | BB | LoJ | Pb | WX | ||
| 4.2 | Rabbit Peak #2 ** | Santa Rosa Wilderness Santa Rosa and San Jacinto Mountains NM |
6,640+ 6640-6679' (NGVD 29) USGS 7.5' Quad (1:24,000) "Rabbit Peak, CA" (1959/1980) |
Class 2 | 1,240 | SP | W | BB | LoJ | Pb | WX | |
| 4.3 | Rosa Point | Anza-Borrego Desert State Park | 5,000+ 5000-5039' (NGVD 29) USGS 7.5' Quad (1:24,000) "Fonts Point, CA" (1959/1977) 5,038 5038' (MSL) USGS 15' Quad (1:62,500) "Rabbit Peak, CA" (1959/1961) |
Class 2 | 280 | SP | W | BB | LoJ | Pb | WX | |
| 4.4 | Pinto Mountain | Joshua Tree National Park | 3,985 1214.7m (NAVD 88) NGS Data Sheet "Pinto" (DW1491) 3,983 3983' (NGVD 29) USGS 7.5' Quad (1:24,000) "Pinto Mountain, CA" (1986/1987) |
Class 1 | 1,253 | SP | W | BB | LoJ | Pb | WX | 4/19/2017 with Angie, Sam, and Yann |
| ||||||||||||
| 4.5 | Eagle Mountains HP | Joshua Tree National Park | 5,347 1629.8m (NAVD 88) NGS Data Sheet "Eagle" (DW1480) 5,350 5350' (NGVD 29) USGS 7.5' Quad (1:24,000) "Hayfield, CA" (1987) |
Class 1 | 2,240 | SP | W | BB | LoJ | Pb | WX | 3/29/2018 solo |
| ||||||||||||
| 4.6 | Orocopia Mountains HP | Orocopia Mountains Wilderness HP | 3,819 1164.0m (NAVD 88) NGS Data Sheet "Orocopia" (DW1485) 3,815 3815' (NGVD 29) USGS 7.5' Quad (1:24,000) "Orocopia Canyon, CA" (1958/1991) |
Class 1 | 2,105 3,815 - (1,720 - 20/2) (Pb) 2,115 3,815 - (1,720 - 40/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 4.7 | Black Butte | Chuckwalla Mountains Wilderness HP | 4,510 1374.5m (NAVD 88) NGS Data Sheet "Butte" (DW1348) 4,504 4504' (NGVD 29) USGS 7.5' Quad (1:24,000) "Pilot Mountain, CA" (1986) |
Class 1 | 2,854 | SP | W | BB | LoJ | Pb | WX | |
| 4.8 | Bunch Benchmark (Chuckwalla Mountains) |
BLM Palm Springs | 3,451 1051.9m (NAVD 88) NGS Data Sheet "Bunch" (DW1373) 3,446 3446' (NGVD 29) USGS 7.5' Quad (1:24,000) "Chuckwalla Spring, CA" (1988) |
Class 2 | 1,426 | SP | W | BB | LoJ | Pb | WX | |
| 4.9 | Spectre Point | Joshua Tree National Park | 4,482 | Class 2 | 2,563 4,482 - (590m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 4.10 | Granite Mountains HP (Granite Benchmark) |
Palen-McCoy Wilderness HP | 4,356 1327.8m (NAVD 88) NGS Data Sheet "Granite" (DW1005) 4,331+ 1320-1329m (NGVD 29) USGS 7.5' Quad (1:24,000) "Palen Pass, CA" (1983/1984) 4,353 4353' (MSL) USGS 15' Quad (1:62,500) "Palen Mountains, CA" (1952/1971) |
Class 2 | 3,346 (1320m + 10m/2) - (310m - 10m/2) (Pb) 3,352 4,353 - (310m - 10m/2) (LoJ) |
SP | BB | LoJ | Pb | WX | ||
| 4.11 | Palen Mountains HP (Red Top Benchmark) |
Palen-McCoy Wilderness | 3,854 1174.6m (NAVD 88) NGS Data Sheet "Red Top" (DW1006) 3,848 1173m (NGVD 29) USGS 7.5' Quad (1:24,000) "Palen Mountains, CA" (1985) 3,851 3851' (MSL) USGS 15' Quad (1:62,500) "Palen Mountains, CA" (1952/1971) |
Class 2 | 2,336 1173m - 460.8m (LoJ) 2,355 1173m - (460m - 10m/2) (Pb) |
W | BB | LoJ | Pb | WX | ||
| 4.12 | Big Maria Mountains HP | Big Maria Mountains Wilderness HP | 3,381 3381' (NGVD 29) USGS 7.5' Quad (1:24,000) "Big Maria Mts. SW, CA" (1971/1980) |
Class 1 | 2,348 3,381 - (320m - 10m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 5. San Diego and Imperial Counties | ||||||||||||
| 5.1 | Indianhead | Anza-Borrego Desert State Park | 3,960+ 3960-3999' (NGVD 29) USGS 7.5' Quad (1:24,000) "Borrego Palm Canyon, CA" (1959/1984) |
Class 2 | 760 | SP | BB | LoJ | Pb | WX | ||
| 5.2 | Sombrero Peak | Anza-Borrego Desert State Park | 4,229 4229' (NGVD 29) USGS 7.5' Quad (1:24,000) "Sombrero Peak, CA" (1997/2003) 4,229 4229' (MSL) USGS 15' Quad (1:62,500) "Mount Laguna, CA" (1960/1970) |
Class 2 | 329 | SP | W | BB | LoJ | Pb | WX | |
| 5.3 | Jacumba Mountain | Anza-Borrego Desert State Park | 4,516 1376.4m (NAVD 88) NGS Data Sheet "Jacumba" (DC1901) 4,512 4512' (NGVD 29) USGS 7.5' Quad (1:24,000) "Jacumba, CA" (1997/2003) 4,512 4512' (MSL) USGS 15' Quad (1:62,500) "Jacumba, CA" (1959/1965) 4,513 4513' (MSL) USGS 15' Quad (1:62,500) "Jacumba, CA" (1939/1958) |
Class 1 | 1,292 | SP | W | BB | LoJ | Pb | WX | |
| 5.4 | Picacho Peak | BLM El Centro | 1,920+ 1920-1939' (NGVD 29) USGS 7.5' Quad (1:24,000) "Picacho Peak, CA" (1965/1975) |
Class 6 | 1,107 | SP | BB | LoJ | Pb | WX | ||
| 6. Nevada | ||||||||||||
| 6.1 | Ruby Dome | Humboldt-Toiyabe National Forest | 11,387 11387' (NGVD 29) USGS 7.5' Quad (1:24,000) "Ruby Dome, NV" (1990/1991) |
Class 2 | 4,809 | SP | W | BB | LoJ | Pb | WX | |
| 6.2 | Wheeler Peak | Great Basin National Park HP | 13,065 3982.3m (NAVD 88) NGS Data Sheet "Wheeler Peak" (JP0339) 13,063 13063' (NGVD 29) USGS 7.5' Quad (1:24,000) "Wheeler Peak, NV" (1990/1995) 13,063 13063' (MSL) USGS 15' Quad (1:62,500) "Wheeler Peak, NV" (1948/1970) |
Class 1 | 7,568 | SP | W | BB | LoJ | Pb | WX | |
| 6.3 | Arc Dome | Humboldt-Toiyabe National Forest Arc Dome Wilderness HP |
11,780 3590.7m (NAVD 88) NGS Data Sheet "Toiyabe Dome Reset" (JQ0514) 11,773 11773' (NGVD 29) USGS 7.5' Quad (1:24,000) "Arc Dome, NV" (1980/1985) 11,788 11788' USGS 60' Quad (1:250,000) "Tonopah, NV" (1956/1974) |
Class 1 | 5,233 | SP | W | BB | LoJ | Pb | WX | |
| 6.4 | Mount Jefferson | Humboldt-Toiyabe National Forest Alta Toquima Wilderness HP |
11,949 3642m (NAVD 88) NGS Data Sheet "Jeff" (JQ0584) 11,941 11941' (NGVD 29) USGS 7.5' Quad (1:24,000) "Mount Jefferson, NV" (1971/1975) 11,949 11949' USGS 60' Quad (1:250,000) "Tonopah, NV" (1956/1974) |
Class 1 | 5,871 | SP | W | BB | LoJ | Pb | WX | |
| 6.5 | Hayford Peak | Desert National Wildlife Refuge | 9,924 3024.9m (NAVD 88) NGS Data Sheet "Hayford" (GR1917) 9,912 9912' (NGVD 29) USGS 7.5' Quad (1:24,000) "Hayford Peak, NV" (1987) 9,912 9912' (MSL) USGS 15' Quad (1:62,500) "Hayford Peak, NV" (1960/1972) |
Class 1 | 5,412 | SP | W | BB | LoJ | Pb | WX | |
| 6.6 | Mount Stirling | Humboldt-Toiyabe National Forest Spring Mountains NRA Mount Stirling WSA |
8,220 2505.5m (NAVD 88) NGS Data Sheet "Mount Sterling" (GR1980) 8,219 2505m (NGVD 29) USGS 7.5' Quad (1:24,000) "Mt. Stirling, NV" (1984) 8,217 8217' (MSL) USGS 15' Quad (1:62,500) "Mt. Stirling, NV" (1957/1962) |
Class 1 | 1,017 | SP | BB | LoJ | Pb | WX | ||
| 6.7 | Charleston Peak ** | Humboldt-Toiyabe National Forest Spring Mountains NRA HP Mount Charleston Wilderness HP |
11,916 3632.0m (NAVD 88) NGS Data Sheet "Charleston" (GR1965) 11,915 3631.8m (NGVD 29) USGS 7.5' Quad (1:24,000) "Charleston Peak, NV" (1984) 11,918 11918' (MSL) USGS 15' Quad (1:62,500) "Charleston Peak, NV" (1957/1965) |
Class 1 | 8,257 3631.8m - (1120m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 6.8 | Mummy Mountain | Humboldt-Toiyabe National Forest Spring Mountains NRA Mount Charleston Wilderness |
11,528 3513.7m (NGVD 29) USGS 7.5' Quad (1:24,000) "Charleston Peak, NV" (1984) 11,530 11530' (MSL) USGS 15' Quad (1:62,500) "Charleston Peak, NV" (1957/1965) |
Class 2 | 816 3513.7m - (3270m - 10m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 6.9 | Potosi Mountain | Humboldt-Toiyabe National Forest Spring Mountains NRA |
8,517 2596.0m (NAVD 88) NGS Data Sheet "Olcott" (FS1016) 8,514 2595.1m (NGVD 29) USGS 7.5' Quad (1:24,000) "Potosi, NV" (1984/1985) 8,512 8512' (NGVD 29) USGS 15' Quad (1:62,500) "Shenandoah Peak, NV" (1956/1975) |
Class 2 | 3,012 | SP | W | BB | LoJ | Pb | WX | |
| 6.10 | McCullough Mountain | South McCullough Wilderness HP | 7,029 2142.5m (NAVD 88) NGS Data Sheet "McCullough" (FS1399)
Note that on the datasheet, the designation is spelled "MCCOLLOUGH",
but on the 7.5' quad, it's spelled "McCullough". 7,026 7026' (NGVD 29) USGS 7.5' Quad (1:24,000) "McCullough Mountain, NV" (1989/1990) 7,026 7026' (MSL) USGS 15' Quad (1:62,500) "McCullough Mtn., NV" (1960/1969) |
Class 1 | 2,220 7,026 - (1470m - 10m/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 6.11 | Spirit Mountain | Lake Mead NRA Spirit Mountain Wilderness HP |
5,642 1719.6m (NAVD 88) NGS Data Sheet "Spirit" (FS1078) 5,639 5639' (NGVD 29) USGS 7.5' Quad (1:24,000) "Spirit Mtn., NV" (1959/1976) |
Class 2 | 2,899 | SP | W | BB | LoJ | Pb | WX | |
| 6.12 | Moapa Peak | Mormon Mountains Wilderness | 6,471 6471' (NGVD 29) USGS 7.5' Quad (1:24,000) "Moapa Peak, NV" (1969/1985) 6,505 6505' USGS 60' Quad (1:250,000) "Las Vegas, NV" (1954/1969) |
Class 3 | 1,691 | SP | BB | LoJ | Pb | WX | ||
| 6.13 | Virgin Peak | Gold Butte National Monument HP | 8,071+ 2460-2469m (NGVD 29) USGS 7.5' Quad (1:24,000) "Virgin Peak, NV" (1983/1984) 8,075 8075' (MSL) USGS 15' Quad (1:62,500) "Virgin Peak, NV" (1958/1964) |
Class 1 | 3,215 (2460m + 10m/2) - (1490m - 10m/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 6.14 | Bridge Mountain | Red Rock Canyon NCA Rainbow Mountain Wilderness |
6,988+ 2130-2139m (NGVD 29) USGS 7.5' Quad (1:24,000) "La Madre Spring, NV" (1984) |
Class 3 | 722 | SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 6.15 | Muddy Peak | Muddy Mountains Wilderness | 5,387 1642m (NGVD 29) USGS 7.5' Quad (1:24,000) "Muddy Peak, NV" (1983) 5,363 5363' (NGVD 29) USGS 15' Quad (1:62,500) "Muddy Peak, NV" (1953/1975) |
Class 3 | 876 | SP | W | BB | LoJ | Pb | WX | |
| ||||||||||||
| 7. Utah | ||||||||||||
| 7.1 | North Guardian Angel | Zion National Park | 7,395 7395' (NGVD 29) USGS 7.5' Quad (1:24,000) "The Guardian Angels, UT" (1996/2002) |
Class 4 | 715 | SP | BB | LoJ | Pb | WX | ||
| 7.2 | South Guardian Angel | Zion National Park | 7,140 7140' (NGVD 29) USGS 7.5' Quad (1:24,000) "The Guardian Angels, UT" (1996/2002) |
Class 4 | 1,205 | SP | BB | LoJ | Pb | WX | ||
| 7.3 | Navajo Mountain | Navajo Nation HP | 10,348 3154.2m (NAVD 88) NGS Data Sheet "Navajo Mtn" (HN0911) 10,346 10346' (NGVD 29) USGS 7.5' Quad (1:24,000) "Navajo Begay, UT" (1987) 10,388 10388' (MSL) USGS 15' Quad (1:62,500) "Navajo Mountain, UT" (1953/1973) |
Class 1 | 4,236 | SP | W | BB | LoJ | Pb | WX | |
| 8. Arizona | ||||||||||||
| 8.1 | Mount Tipton | Mount Tipton Wilderness HP | 7,153 2180.2m (NAVD 88) NGS Data Sheet "Tipton" (FS1023) 7,148 7148' (MSL) USGS 7.5' Quad (1:24,000) "Mt. Tipton, AZ" (1968/1971) |
Class 2 | 3,638 | SP | W | BB | LoJ | Pb | WX | |
| 8.2 | Humphreys Peak | Coconino National Forest HP Kachina Peaks Wilderness HP |
12,637 3851.8m (NAVD 88) NGS Data Sheet "Frisco" (FQ0624) 12,633 12633' (NGVD 29) USGS 7.5' Quad (1:24,000) "Humphreys Peak, AZ" (1966/1983) |
Class 1 | 6,039 12,633 - 6,594 (Pb) 6,043 12,633 - (6,600 - 20/2) (LoJ) |
SP | W | BB | LoJ | Pb | WX | |
| 8.3 | Superstition Mountain | Tonto National Forest Superstition Wilderness |
5,059 1542.1m (NAVD 88) NGS Data Sheet "Superstition" (DU2086) 5,057 5057' (NGVD 29) USGS 7.5' Quad (1:24,000) "Goldfield, AZ" (2004/2007) |
Class 2 | 1,837 | SP | W | BB | LoJ | Pb | WX | |
| 8.4 | Weavers Needle | Tonto National Forest Superstition Wilderness |
4,553 4553' (NGVD 29) USGS 7.5' Quad (1:24,000) "Weavers Needle, AZ" (2004/2007) |
Class 4 | 1,013 | SP | W | BB | LoJ | Pb | WX | |
| 8.5 | Signal Peak ** | Kofa National Wildlife Refuge Kofa Wilderness HP |
4,882 1487.9m (NAVD 88) NGS Data Sheet "Kofa 2" (DW0905) 4,877 4877' (NGVD 29) USGS 7.5' Quad (1:24,000) "Palm Canyon, AZ" (1990) 4,877 4877' (NGVD 29) USGS 15' Quad (1:62,500) "Livingston Hills, AZ" (1962/1984) |
Class 2 | 3,482 4,877 - (1,400 - 10/2) (LoJ/Pb) |
SP | W | BB | LoJ | Pb | WX | |
| 8.6 | Castle Dome Peak | Kofa National Wildlife Refuge Kofa Wilderness |
3,788 3788' (NGVD 29) USGS 7.5' Quad (1:24,000) "Castle Dome Peak, AZ" (1990) 3,788 3788' (MSL) USGS 15' Quad (1:62,500) "Castle Dome Mts., AZ" (1965/1973) |
Class 3 | 2,098 | SP | W | BB | LoJ | Pb | WX | |
| 8.7 | Kino Peak | Organ Pipe Cactus NM | 3,199 975.1m (NAVD 88) NGS Data Sheet "Tesmo" (DA1309) 3,197 3197' (NGVD 29) USGS 7.5' Quad (1:24,000) "Kino Peak, AZ" (1996/2000) 3,197 3197' (MSL) USGS 15' Quad (1:62,500) "Kino Peak, AZ" (1963/1969) |
Class 3 | 1,547 | SP | BB | LoJ | Pb | WX | ||
| 8.8 | Mount Ajo | Organ Pipe Cactus NM HP | 4,811 1466.3m (NAVD 88) NGS Data Sheet "Sierra Del Ajo" (DA1510) 4,808 4808' (NGVD 29) USGS 7.5' Quad (1:24,000) "Mount Ajo, AZ" (1996/2000) 4,808 4808' (MSL) USGS 15' Quad (1:62,500) "Mt. Ajo, AZ" (1963/1973) |
Class 2 | 2,703 | SP | BB | LoJ | Pb | WX | ||
| 8.9 | Baboquivari Peak | Baboquivari Peak Wilderness HP Tohono O'odham Nation |
7,734 7734' (NGVD 29) USGS 7.5' Quad (1:24,000) "Baboquivari Peak, AZ" (1979/1983) 7,730 7730' (MSL) USGS 15' Quad (1:62,500) "Baboquivari Peak, AZ" (1941/1955) |
Class 4 | 4,204 | SP | W | BB | LoJ | Pb | WX | |
| 9. Mexico | ||||||||||||
| 9.1 | Cerro Pescadores | 3,543+ | Class 2 | 3,412 (1080m + 20m/2) - (60m - 20m/2) (Pb) |
BB | Pb | ||||||
| ||||||||||||
| 9.2 | Pico Risco | 4,987+ | Class 3 | 394 (1520m + 20m/2) - (1420m - 20m/2) (Pb) |
SP | BB | Pb | |||||
| ||||||||||||
| 9.3 | Picacho del Diablo ** | 10,154 10,171+ |
Class 3 | 6,972 3095m - (980m - 20m/2) (Pb) |
SP | W | BB | Pb | ||||
| ||||||||||||
| 9.4 | Cerro del Pinacate (Cerro Pinacate) |
3,957 3,937+ 4,235 4235' (MSL) USGS 60' Quad (1:250,000) "Sonoyta, AZ" (1954) |
Class 1 | 3,215 (1200m + 20m/2) - (240m - 20m/2) (Pb) |
SP | W | BB | Pb | ||||
|


There are many ways you can get to me, here are some:
- Twitter -
@jackwkinsey
- Electronic Mail -
<EMAIL_ADDRESS>Feel free to drop me a line anytime.


Some stories happens... in this place with someone...
Have fun this day with someone at...
Activities and entertainments...
Time to say goodbye...


{% extends "default.html" %} {% block body %}
A REST API that allows queries against the crumby database.
Queries that require a date range will default to the last 30 days. Provide days or from and to for a custom date range.
int: number of consecutive days to retrieve before today.
Example: {{ config.DOMAIN }}/api/{{collection}}/locations?days=60
str in form YYY-MM-DD: start and end date of date range.
Example: {{ config.DOMAIN }}/api/{{collection}}/locations?from=2016-09-01&to=2017-02-20
{% endif %}


Integer variable implementation.
|
Range list access for iteration |
| const RangeList * | ranges_fwd (void) const |
| | Return range list for forward iteration.
|
| const RangeList * | ranges_bwd (void) const |
| | Return range list for backward iteration.
|
Value access |
| int | min (void) const |
| | Return minimum of domain.
|
| int | max (void) const |
| | Return maximum of domain.
|
| int | val (void) const |
| | Return assigned value (only if assigned).
|
| int | med (void) const |
| | Return median of domain.
|
| unsigned int | size (void) const |
| | Return size (cardinality) of domain.
|
| unsigned int | width (void) const |
| | Return width of domain (distance between maximum and minimum).
|
| unsigned int | regret_min (void) const |
| | Return regret of domain minimum (distance to next larger value).
|
| unsigned int | regret_max (void) const |
| | Return regret of domain maximum (distance to next smaller value).
|
Domain tests |
| bool | range (void) const |
| | Test whether domain is a range.
|
| bool | assigned (void) const |
| | Test whether variable is assigned.
|
| bool | in (int n) const |
| | Test whether n is contained in domain.
|
| bool | in (double n) const |
| | Test whether n is contained in domain.
|
Domain update by value |
| ModEvent | lq (Space *home, int n) |
| | Restrict domain values to be less or equal than n.
|
| ModEvent | lq (Space *home, double n) |
| | Restrict domain values to be less or equal than n.
|
| ModEvent | gq (Space *home, int n) |
| | Restrict domain values to be greater or equal than n.
|
| ModEvent | gq (Space *home, double n) |
| | Restrict domain values to be greater or equal than n.
|
| ModEvent | nq (Space *home, int n) |
| | Restrict domain values to be different from n.
|
| ModEvent | nq (Space *home, double n) |
| | Restrict domain values to be different from n.
|
| ModEvent | eq (Space *home, int n) |
| | Restrict domain values to be equal to n.
|
| ModEvent | eq (Space *home, double n) |
| | Restrict domain values to be equal to n.
|
Domain update by iterator |
| Variable domains can be both updated by range and value iterators. Value iterators do not need to be strict in that the same value is allowed to occur more than once in the iterated sequence.
The argument depends must be true, if the iterator passed as argument depends on the variable implementation on which the operation is invoked. In this case, the variable implementation is only updated after the iterator has been consumed. Otherwise, the domain might be updated concurrently while following the iterator.
|
| template<class I> |
| ModEvent | narrow_r (Space *home, I &i, bool depends=true) |
| | Replace domain by ranges described by i.
|
| template<class I> |
| ModEvent | inter_r (Space *home, I &i, bool depends=true) |
| | Intersect domain with ranges described by i.
|
| template<class I> |
| ModEvent | minus_r (Space *home, I &i, bool depends=true) |
| | Remove from domain the ranges described by i.
|
| template<class I> |
| ModEvent | narrow_v (Space *home, I &i, bool depends=true) |
| | Replace domain by values described by i.
|
| template<class I> |
| ModEvent | inter_v (Space *home, I &i, bool depends=true) |
| | Intersect domain with values described by i.
|
| template<class I> |
| ModEvent | minus_v (Space *home, I &i, bool depends=true) |
| | Remove from domain the values described by i.
|
Dependencies |
| void | subscribe (Space *home, Propagator *p, PropCond pc, bool process=true) |
| | Subscribe propagator p with propagation condition pc to variable.
|
| void | cancel (Space *home, Propagator *p, PropCond pc) |
| | Cancel subscription of propagator p with propagation condition pc.
|
| void | subscribe (Space *home, Advisor *a) |
| | Subscribe advisor a to variable.
|
| void | cancel (Space *home, Advisor *a) |
| | Cancel subscription of advisor a.
|
Cloning |
| IntVarImp * | copy (Space *home, bool share) |
| | Return copy of this variable.
|
Reflection |
| Reflection::Arg * | spec (const Space *home, Reflection::VarMap &m) const |
| | Return specification.
|
| static VarImpBase * | create (Space *home, Reflection::VarSpec &spec) |
| | Create variable implementation from specification.
|
| static void | constrain (Space *home, VarImpBase *v, Reflection::VarSpec &spec) |
| | Constrain variable implementation using specification.
|
Delta information for advisors |
| int | min (const Delta *d) const |
| | Return minimum value just pruned.
|
| int | max (const Delta *d) const |
| | Return maximum value just pruned.
|
| bool | any (const Delta *d) const |
| | Test whether arbitrary values got pruned.
|
| static ModEvent | modevent (const Delta *d) |
| | Return modification event.
|
Variable implementation-dependent propagator support |
| static ModEventDelta | med (ModEvent me) |
| | Translate modification event me to modification event delta for view.
|
Public Member Functions |
| | IntVarImp (Space *home, int min, int max) |
| | Initialize with range domain.
|
| | IntVarImp (Space *home, const IntSet &d) |
| | Initialize with domain specified by d.
|
Protected Member Functions |
| RangeList * | fst (void) const |
| | Return first element of rangelist.
|
| void | fst (RangeList *f) |
| | Set first element of rangelist.
|
| RangeList * | lst (void) const |
| | Return last element of rangelist.
|
| void | lst (RangeList *l) |
| | Set last element of rangelist.
|
| | IntVarImp (Space *home, bool share, IntVarImp &x) |
| | Constructor for cloning x.
|
Protected Attributes |
| RangeList | dom |
| | Domain information.
|
| RangeList * | _lst |
| | Link the last element.
|
| unsigned int | holes |
| | Size of holes in the domain.
|
Classes |
| class | RangeList |
| | Lists of ranges (intervals). More...
|


Each provider consists of a definition in definitions.json file in /burst/providers/ folder and an icon in /burst/providers/icons/ folder.
Icon is optional, but very much desired. It is easier to quickly find relevant search result, when you visually differ providers.
If you want to try adding new provider, the workflow is about that:
git clone git@github.com:yourusername/script.projectx.burst.git
git checkout -b my_provider
git push origin my_provider
Please, try not to make changes in the Python code of Burst.

It will do basic syntax and code checks. Should run without errors.
Definitions are a JSON list of a smaller parts, each of them describes separate providers. There are no inherited settings, or default settings, each provider’s setting should be explicitly setted.
Example of provider definition:
"ilcorsaroblu": {
"enabled": true,
"predefined": false,
"private": false,
"name": "Il Corsaro Blu",
"languages": "it",
"anime_extra": "",
"anime_keywords": "{title:original} {episode}",
"anime_query": "",
"base_url": "https://www.ilcorsaroblu.org/index.php?page=torrents&search=QUERYEXTRA&x=0&y=0",
"color": "FFFFFFFF",
"general_extra": "",
"general_keywords": "{title:original}",
"general_query": "0",
"language": null,
"login_failed": "",
"login_object": "",
"login_path": null,
"movie_extra": "",
"movie_keywords": "{title:original} {year}",
"movie_query": "",
"parser": {
"row": "find_once(tag='table', select=('class', 'lista'), order=4).find_all('tr')",
"name": "item(tag='td', order=2)",
"seeds": "item(tag='td', order=7)",
"peers": "item(tag='td', order=6)",
"size": "item(tag='td', order=9)",
"torrent": "'https://www.ilcorsaroblu.org/%s' % item(tag='a', attribute='href', order=3)"
},
"season_extra": "",
"season_extra2": "",
"season_keywords": "{title:original} Season_{season}",
"season_keywords2": "{title:original} Season{season}",
"season_query": "",
"separator": "%20",
"show_query": "",
"subpage": true,
"tv_extra": "",
"tv_extra2": "",
"tv_keywords": "{title:original} s{season:2}e{episode:2}",
"tv_keywords2": "{title:original} s{season:2}"
}
This part is very important:
"enabled": true,
"predefined": false,
"private": false,
"name": "Il Corsaro Blu",
"languages": "it",
Where columns mean:
enabled
: boolean, defines if provider is available (not selected to search, but available for selection).predefined
: boolean, defines if provider is enabled by default upon installation of Burst (default providers).private
: boolean, defines if provider is private, so login should be executed.name
: string, name of provider, no special characters, name will be shown in Kodi settings and search results.languages
: string, languages used on the tracker, 2-char codes list of languages (like it, fr, en, es
), can be ommited.anime_extra
: string, text, later replaced into EXTRA keyword in search url.anime_keywords
: string, query for anime searches.anime_query
: string, part of url, added to base_url
.base_url
: string, URL, used for further uses in searches.color
: string, Kodi color code. Can be substituted with word representation. See: https://s3.amazonaws.com/f.cl.ly/items/1A3S2n0l103n460Y1I0e/chart.jpg .general_extra
: string, text, later replaced into EXTRA keyword in search url.general_keywords
: string, query for general searches (when you type the query).general_query
: string, part of url, added to base_url
.language
: string, 2-char language definition, which language is used to searches.login_failed
: string, text to search, to identify we failed with loggin (or better a unique text that indicates we are not logged in).login_object
: string, object to use for logging in. USERNAME and PASSWORD are substituted.login_path
: string, url, used to POST login object to.movie_extra
: string, text, later replaced into EXTRA keyword in search url.movie_keywords
: string, query for movie searches.movie_query
: string, part of url, added to base_url
.parser
: array, defines how to parse result page.
row
: query searches for rows, each of them will be parsed for torrent information.name
: query for torrent name.seeds
: query for seeds count.peers
: query for peers count.size
: query for torrent size.torrent
: query for torrent file link or magnet link.season_extra
: string, text, later replaced into EXTRA keyword in search url.season_extra2
: string, text, later replaced into EXTRA keyword in search url.season_keywords
: string, query for season searches.season_keywords2
: string, query for season searches.season_query
: string, part of url, added to base_url
.separator
: string, chars, used to separate words in the query (like %20
or -
).show_query
: string, string that is added to the base_url
for episodes searches.subpage
: boolean, defines if provider needs a separate request to get parser->torrent link and find magnet/torrent there.tv_extra
: string, text, later replaced into EXTRA keyword in search url.tv_extra2
: string, text, later replaced into EXTRA keyword in search url.tv_keywords
: string, query for episode searches.tv_keywords2
: string, query for episode searches.Icon requirements are pretty easy:
Place it with provider_id.png
file name and it will be used everywhere.
Our parser is ehp.py
, it’s not an XPath parser, but it gives you fine speed and is pretty fault-tolerant to broken html code.
Project code: https://github.com/iogf/ehp
You can see examples in existing definitions. Basically you will need:
find_once
if you need to fine one item;find_all
if you need a list of results (like rows);item
if you need something specific (like name or specific link).Kodi Locations can be discovered here: https://kodi.wiki/view/Log_file/Advanced#Location
You can copy your cloned git repository into Kodi path and just run search from Kodi, it will use the new code without need to restart Kodi. So you can easily run and track results.
In Linux it’s something like:
cp -rf /path/to/your/repo/* ~/.kodi/addons/script.projectx.burst/
Then, if you also want to debug the parser, you can enable excessive debugging:
Burst Kodi settings -> Advanced -> Log debug messages for parsing
You will see what parser rule we run, and what we match.
Added provider is not enabled for searching by default, you have to enable it in Kodi settings.
So you can run ./scripts/generate_settings.py
to regenerate settings.xml file, then copy it to Kodi and restart Kodi (settings.xml are read on load or addon installation only).
Only custom providers (not provided with Burst) are enabled by default and you cannon enable or disable them.


Most respectable and distinguished Acharya Anil Shriji Maharaj is the disciple of Shree Swamy Devmitranand Giri ji Maharaj, founder of Radhabhai Jagriti Kendra, New Delhi.
An authority on Shreemad Bhagwat and Shree Ramcharitmanas, he has been devotedly engaged in spreading the awareness and knowledge about them amongst the masses. Early education of Anil Shreeji Maharaj began in Meerut, Uttar Pradesh. He completed his graduation from Kanpur. Following his keen interest in Indian classical music, he also completed “Prabhakar” and spent more than 20 years as an inspiring Guru and imparted training in music to hundreds of students. Gradually, his deep rooted interest in spirituality and Hindu scriptures motivated him to establish “Shree Krishna Janhitaarth Sewashram” in 2003 at C-103, Antriksh Apartments, Sector-14, Rohini, Delhi with an aim to enlighten about the true meaning of religion and devotion to common people. Gracious and amicable, Acharya Anil Shreeji impresses with his deep understanding of various holy scriptures. His intense knowledge and effective manner of explaining the subtleties of our holy scriptures is immensely engaging. As a trained classical singer, his rich powerful resonant voice is captivating and heart touching.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laudantium veniam exercitationem expedita laborum at voluptate. Labore, voluptates totam at aut nemo deserunt rem magni pariatur quos perspiciatis atque eveniet unde.
Download VideoLorem ipsum dolor sit amet, consectetur adipisicing elit. Ut, odit velit cumque vero doloremque repellendus distinctio maiores rem expedita a nam vitae modi quidem similique ducimus! Velit, esse totam tempore.
Download VideoLorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis, temporibus, dolores, at, praesentium ut unde repudiandae voluptatum sit ab debitis suscipit fugiat natus velit excepturi amet commodi deleniti alias possimus!
Download Video


# Data volumes
A data volume is a specially-designated directory within one or more containers that bypasses the Union File System.
Data volumes provide several useful features for persistent or shared data:
* Volumes are initialized when a container is created. If the container’s base image contains data at the specified
mount point, that existing data is copied into the new volume upon volume initialization.
(Note that this does not apply when mounting a host directory.)
* Data volumes can be shared and reused among containers.
* Changes to a data volume are made directly.
* Changes to a data volume will not be included when you update an image.
* Data volumes persist even if the container itself is deleted.
Data volumes are designed to persist data, independent of the container’s life cycle. **Docker therefore never
automatically deletes volumes when you remove a container, nor will it “garbage collect” volumes that are
no longer referenced by a container.**
Let’s do the latter approach that with a feature called “named volumes”. Create a named volume:
```bash
docker volume create --name esdata
```
You can mount that volume using the -v option:
```bash
docker run --rm -ti -p 9200:9200 -v esdata:/usr/share/elasticsearch/data my-es-image
```
Even if you restart your Elasticsearch container now it should preserve all data.
*Note: This requires at least version 1.10 of Docker*
Memory and heap size
By default memory for a container is unbounded. If you want to limit for the max memory the container uses you can specify e.g. --memory="4g" with docker run.
You should also set the heap size for Elasticsearch. The normal recommendation with allocating half of the memory to the heap also applies. For example:
```bash
docker run --rm -ti -p 9200:9200 -v esdata:/usr/share/elasticsearch/data --memory="4g" -e ES_HEAP_SIZE=2g my-es-image
```


Parcel transpiles your JavaScript and CSS for your target browsers automatically! Just declare a browserslist
in your package.json
, and Parcel takes care of transpiling only what's needed.
In addition to standard JavaScript, Parcel automatically handles JSX, TypeScript, and Flow, along with Node.js features like process.env and fs.readFileSync – no configuration needed!
When it comes to CSS, Parcel supports transpiling modern syntax features like lab()
colors, logical properties, and CSS nesting syntax, as well as automatically adding the necessary vendor prefixes for your browser targets.
And if you need more advanced control, or support for custom transforms, just add a .babelrc
or .postcssrc
and it'll be picked up automatically.
function DogName(props) {
return (
{props.dog?.name ?? 'Buddy'}
);
}
function DogName(props) {
var ref, ref1;
return /*#__PURE__*/ React.createElement(
"span",
null,
(ref1 = (ref = props.dog) === null || ref === void 0 ? void 0 : ref.name) !== null && ref1 !== void 0 ? ref1 : "Buddy"
);
}


A command is what tells Selenium what to do. Selenium commands come in three 'flavors': Actions, Accessors and Assertions. Each command call is one line in the test table of the form:
command target value
Actions are commands that generally manipulate the state of the application. They do things like "click this link" and "select that option". If an Action fails, or has an error, the execution of the current test is stopped.
Many Actions can be called with the "AndWait" suffix, e.g. "clickAndWait". This suffix tells Selenium that the action will cause the browser to make a call to the server, and that Selenium should wait for a new page to load.
Accessors examine the state of the application and store the results in variables, e.g. "storeTitle". They are also used to automatically generate Assertions.
Assertions are like Accessors, but they verify that the state of the application conforms to what is expected. Examples include "make sure the page title is X" and "verify that this checkbox is checked".
All Selenium Assertions can be used in 3 modes: "assert", "verify", and "waitFor". For example, you can "assertText", "verifyText" and "waitForText". When an "assert" fails, the test is aborted. When a "verify" fails, the test will continue execution, logging the failure. This allows a single "assert" to ensure that the application is on the correct page, followed by a bunch of "verify" assertions to test form field values, labels, etc.
"waitFor" commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting (see the setTimeout action below).
Element Locators tell Selenium which HTML element a command refers to. Many commands require an Element Locator as the "target" attribute. Examples of Element Locators include "elementId" and "document.forms[0].element". These are described more clearly in the next section.
Patterns are used for various reasons, e.g. to specify the expected value of an input field, or identify a select option. Selenium supports various types of pattern, including regular-expressions, all of which are described in more detail below.
Defines an object that runs Selenium commands.Element Locators tell Selenium which HTML element a command refers to. The format of a locator is:
locatorType=argument
We support the following strategies for locating elements:
- identifier=id
- Select the element with the specified @id attribute. If no match is found, select the first element whose @name attribute is id. (This is normally the default; see below.)
- id=id
- Select the element with the specified @id attribute.
- name=name
- Select the first element with the specified @name attribute.
- username
- name=username
- The name may optionally be followed by one or more element-filters, separated from the name by whitespace. If the filterType is not specified, value is assumed.
- name=flavour value=chocolate
- dom=javascriptExpression
- Find an element using JavaScript traversal of the HTML Document Object Model. DOM locators must begin with "document.".
- dom=document.forms['myForm'].myDropdown
- dom=document.images[56]
- xpath=xpathExpression
- Locate an element using an XPath expression.
- xpath=//img[@alt='The image alt text']
- xpath=//table[@id='table1']//tr[4]/td[2]
- link=textPattern
- Select the link (anchor) element which contains text matching the specified pattern.
- link=The link text
Without an explicit locator prefix, Selenium uses the following default strategies:
Element filters can be used with a locator to refine a list of candidate elements. They are currently used only in the 'name' element-locator.
Filters look much like locators, ie.
filterType=argumentSupported element-filters are:
value=valuePattern
Matches elements based on their values. This is particularly useful for refining a list of similarly-named toggle-buttons.index=index
Selects a single element based on its position in the list (offset from zero).
Various Pattern syntaxes are available for matching string values:
- glob:pattern
- Match a string against a "glob" (aka "wildmat") pattern. "Glob" is a kind of limited regular-expression syntax typically used in command-line shells. In a glob pattern, "*" represents any sequence of characters, and "?" represents any single character. Glob patterns match against the entire string.
- regexp:regexp
- Match a string using a regular-expression. The full power of JavaScript regular-expressions is available.
- exact:string
- Match a string exactly, verbatim, without any of that fancy wildcard stuff.
If no pattern prefix is specified, Selenium assumes that it's a "glob" pattern.
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Can also be used to set the value of combo boxes, check boxes, etc. In these cases, value should be the value of the option selected, not the visible text.
Arguments:
Arguments:
Arguments:
Option locators provide different ways of specifying options of an HTML Select element (e.g. for selecting a specific option, or for asserting that the selected option satisfies a specification). There are several forms of Select Option Locator.
If no option locator prefix is provided, the default behaviour is to match on label.
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
Arguments:
If logLevelThreshold is specified, set the threshold for logging to that level (debug, info, warn, error).
(Note that the browser-side logs will not be sent back to the server, and are invisible to the Client Driver.)
Arguments:
Note that, by default, the snippet will be run in the runner's test window, not in the window
of your application. To get the window of your application, you can use
the JavaScript snippet selenium.browserbot.getCurrentWindow()
, and then
run your JavaScript in there
Arguments:
Actions that require waiting include "open" and the "waitFor*" actions.
The default timeout is 30 seconds.Arguments:
You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc. (which are only available in the JS API).
Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded" flag when it first notices a page load. Running any other Selenium command after turns the flag to false. Hence, if you want to wait for a page to load, you must wait immediately after a Selenium command that caused a page-load.
Arguments:
This function never throws an exception
Arguments:
Related Assertions, automatically generated:
This function never throws an exception
Arguments:
Related Assertions, automatically generated:
This function never throws an exception
Arguments:
Related Assertions, automatically generated:
Getting an alert has the same effect as manually clicking OK. If an alert is generated but you do not get/verify it, the next Selenium action will fail.
NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert dialog.
NOTE: Selenium does NOT support JavaScript alerts that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK.
Arguments:
Related Assertions, automatically generated:
By default, the confirm function will return true, having the same effect as manually clicking OK. This can be changed by prior execution of the chooseCancelOnNextConfirmation command. If an confirmation is generated but you do not get/verify it, the next Selenium action will fail.
NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible dialog.
NOTE: Selenium does NOT support JavaScript confirmations that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until you manually click OK.
Arguments:
Related Assertions, automatically generated:
Successful handling of the prompt requires prior execution of the answerOnNextPrompt command. If a prompt is generated but you do not get/verify it, the next Selenium action will fail.
NOTE: under Selenium, JavaScript prompts will NOT pop up a visible dialog.
NOTE: Selenium does NOT support JavaScript prompts that are generated in a page's onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK.
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Note that, by default, the snippet will run in the context of the "selenium"
object itself, so this
will refer to the Selenium object, and window
will
refer to the top-level runner test window, not the window of your application.
If you need a reference to the window of your application, you can refer
to this.browserbot.getCurrentWindow()
and if you need to use
a locator to refer to a single element in your application page, you can
use this.page().findElement("foo")
where "foo" is your locator.
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
See the select command for more information about option locators.
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
If a given button has no ID, it will appear as "" in this array.
Arguments:
Related Assertions, automatically generated:
If a given link has no ID, it will appear as "" in this array.
Arguments:
Related Assertions, automatically generated:
If a given field has no ID, it will appear as "" in this array.
Arguments:
Related Assertions, automatically generated:
Arguments:
Related Assertions, automatically generated:
This is useful because of JavaScript preprocessing. It is used to generate commands like assertExpression and storeExpression.
Arguments:
Related Assertions, automatically generated:
All Selenium command parameters can be constructed using both simple variable substitution as well as full javascript. Both of these mechanisms can access previously stored variables, but do so using different syntax.
The commands store, storeValue and storeText can be used to store a variable value for later access. Internally, these variables are stored in a map called "storedVars", with values keyed by the variable name. These commands are documented in the command reference.
Variable substitution
Variable substitution provides a simple way to include a previously stored variable in a command parameter. This is a simple mechanism, by which the variable to substitute is indicated by ${variableName}. Multiple variables can be substituted, and intermixed with static text.
Example:
store Mr title storeValue nameField surname store ${title} ${surname} fullname type textElement Full name is: ${fullname} Javascript evaluation
Javascript evaluation provides the full power of javascript in constructing a command parameter. To use this mechanism, the entire parameter value must be prefixed by 'javascript{' with a trailing '}'. The text inside the braces is evaluated as a javascript expression, and can access previously stored variables using the storedVars map detailed above. Note that variable substitution cannot be combined with javascript evaluation.
Example:
store javascript{'merchant' + (new Date()).getTime()} merchantId type textElement javascript{storedVars['merchantId'].toUpperCase()}
It can be quite simple to extend Selenium, adding your own actions, assertions and locator-strategies. This is done with javascript by adding methods to the Selenium object prototype, and the PageBot object prototype. On startup, Selenium will automatically look through methods on these prototypes, using name patterns to recognise which ones are actions, assertions and locators.
The following examples try to give an indication of how Selenium can be extended with javascript.
Actions
All doFoo methods on the Selenium prototype are added as actions. For each action foo there is also an action fooAndWait registered. An action method can take up to 2 parameters, which will be passed the second and third column values in the test.
Example: Add a "typeRepeated" action to Selenium, which types the text twice into a text box.
Selenium.prototype.doTypeRepeated = function(locator, text) { // All locator-strategies are automatically handled by "findElement" var element = this.page().findElement(locator); // Create the text to type var valueToType = text + text; // Replace the element text with the new text this.page().replaceText(element, valueToType); };
Accessors/Assertions
All getFoo and isFoo methods on the Selenium prototype are added as accessors (storeFoo). For each accessor there is an assertFoo, verifyFoo and waitForFoo registered. An assert method can take up to 2 parameters, which will be passed the second and third column values in the test. You can also define your own assertions literally as simple "assert" methods, which will also auto-generate "verify" and "waitFor" commands.
Example: Add a valueRepeated assertion, that makes sure that the element value consists of the supplied text repeated. The 2 commands that would be available in tests would be assertValueRepeated and verifyValueRepeated.
Selenium.prototype.assertValueRepeated = function(locator, text) { // All locator-strategies are automatically handled by "findElement" var element = this.page().findElement(locator); // Create the text to verify var expectedValue = text + text; // Get the actual element value var actualValue = element.value; // Make sure the actual value matches the expected Assert.matches(expectedValue, actualValue); };
Automatic availability of storeFoo, assertFoo, assertNotFoo, waitForFoo and waitForNotFoo for every getFoo
All getFoo and isFoo methods on the Selenium prototype automatically result in the availability of storeFoo, assertFoo, assertNotFoo, verifyFoo, verifyNotFoo, waitForFoo, and waitForNotFoo commands.
Example, if you add a getTextLength() method, the following commands will automatically be available: storeTextLength, assertTextLength, assertNotTextLength, verifyTextLength, verifyNotTextLength, waitForTextLength, and waitForNotTextLength commands.
Selenium.prototype.getTextLength = function(locator, text) { return this.getText(locator).length; };Also note that the assertValueRepeated method described above could have been implemented using isValueRepeated, with the added benefit of also automatically getting assertNotValueRepeated, storeValueRepeated, waitForValueRepeated and waitForNotValueRepeated.
Locator Strategies
All locateElementByFoo methods on the PageBot prototype are added as locator-strategies. A locator strategy takes 2 parameters, the first being the locator string (minus the prefix), and the second being the document in which to search.
Example: Add a "valuerepeated=" locator, that finds the first element a value attribute equal to the the supplied value repeated.
// The "inDocument" is a the document you are searching. PageBot.prototype.locateElementByValueRepeated = function(text, inDocument) { // Create the text to search for var expectedValue = text + text; // Loop through all elements, looking for ones that have // a value === our expected value var allElements = inDocument.getElementsByTagName("*"); for (var i = 0; i < allElements.length; i++) { var testElement = allElements[i]; if (testElement.value && testElement.value === expectedValue) { return testElement; } } return null; };
user-extensions.js
By default, Selenium looks for a file called "user-extensions.js", and loads the javascript code found in that file. This file provides a convenient location for adding features to Selenium, without needing to modify the core Selenium sources.
In the standard distibution, this file does not exist. Users can create this file and place their extension code in this common location, removing the need to modify the Selenium sources, and hopefully assisting with the upgrade process.


Select the bookmarks folder, then click download
Subfolder in downloads:
Select folder in bookmarks:
Music 3
Music 3
Music 2
Music
Education
YTFiberDL
Download
Connect
Send