Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV LETTER NEXT LETTER | FRAMES NO FRAMES

A B C D E F G H I J K L M N O P Q R S T U V W X Y _

## U

UDP_HEADER_SIZE - Static variable in class net.i2p.router.transport.udp.PeerState
UDPAddress - Class in net.i2p.router.transport.udp
  basic helper to parse out peer info from a udp address FIXME public for ConfigNetHelper
UDPAddress(RouterAddress) - Constructor for class net.i2p.router.transport.udp.UDPAddress
UDPEndpoint - Class in net.i2p.router.transport.udp
  Coordinate the low level datagram socket, managing the UDPSender and UDPReceiver
UDPEndpoint(RouterContext, UDPTransport, int, InetAddress) - Constructor for class net.i2p.router.transport.udp.UDPEndpoint
UDPFlooder - Class in net.i2p.router.transport.udp
  This sends random data to all UDP peers at a specified rate.
UDPFlooder(RouterContext, UDPTransport) - Constructor for class net.i2p.router.transport.udp.UDPFlooder
UDPIOthread - Class in net.i2p.BOB
  UDP IO on I2P FIX ME: Untested, and incomplete! I have no personal need to UDP yet, however alot of p2p apps pretty much demand it.
UDPIOthread(NamedDB, Log, Socket, I2PSession) - Constructor for class net.i2p.BOB.UDPIOthread
  Constructor
UDPPacket - Class in net.i2p.router.transport.udp
  Basic delivery unit containing the datagram.
UDPPacketReader - Class in net.i2p.router.transport.udp
  To read a packet, initialize this reader with the data and fetch out the appropriate fields.
UDPPacketReader(I2PAppContext) - Constructor for class net.i2p.router.transport.udp.UDPPacketReader
UDPPacketReader.DataReader - Class in net.i2p.router.transport.udp
  parse out the data message
UDPPacketReader.DataReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.DataReader
UDPPacketReader.PeerTestReader - Class in net.i2p.router.transport.udp
  Help read the PeerTest payload
UDPPacketReader.PeerTestReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.PeerTestReader
UDPPacketReader.RelayIntroReader - Class in net.i2p.router.transport.udp
  Help read the RelayIntro payload
UDPPacketReader.RelayIntroReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.RelayIntroReader
UDPPacketReader.RelayRequestReader - Class in net.i2p.router.transport.udp
  Help read the RelayRequest payload
UDPPacketReader.RelayRequestReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.RelayRequestReader
UDPPacketReader.RelayResponseReader - Class in net.i2p.router.transport.udp
  Help read the RelayResponse payload
UDPPacketReader.RelayResponseReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.RelayResponseReader
UDPPacketReader.SessionConfirmedReader - Class in net.i2p.router.transport.udp
  parse out the confirmed message
UDPPacketReader.SessionConfirmedReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.SessionConfirmedReader
UDPPacketReader.SessionCreatedReader - Class in net.i2p.router.transport.udp
  Help read the SessionCreated payload
UDPPacketReader.SessionCreatedReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.SessionCreatedReader
UDPPacketReader.SessionRequestReader - Class in net.i2p.router.transport.udp
  Help read the SessionRequest payload
UDPPacketReader.SessionRequestReader() - Constructor for class net.i2p.router.transport.udp.UDPPacketReader.SessionRequestReader
UDPReceiver - Class in net.i2p.router.transport.udp
  Lowest level component to pull raw UDP datagrams off the wire as fast as possible, controlled by both the bandwidth limiter and the router's throttle.
UDPReceiver(RouterContext, UDPTransport, DatagramSocket, String) - Constructor for class net.i2p.router.transport.udp.UDPReceiver
UDPSender - Class in net.i2p.router.transport.udp
  Lowest level packet sender, pushes anything on its queue ASAP.
UDPSender(RouterContext, DatagramSocket, String) - Constructor for class net.i2p.router.transport.udp.UDPSender
UDPSink - Class in net.i2p.i2ptunnel.udp
UDPSink(InetAddress, int) - Constructor for class net.i2p.i2ptunnel.udp.UDPSink
UDPSource - Class in net.i2p.i2ptunnel.udp
UDPSource(int) - Constructor for class net.i2p.i2ptunnel.udp.UDPSource
UDPSource(DatagramSocket) - Constructor for class net.i2p.i2ptunnel.udp.UDPSource
  use socket from UDPSink
UDPTransport - Class in net.i2p.router.transport.udp
UDPTransport(RouterContext) - Constructor for class net.i2p.router.transport.udp.UDPTransport
uidl - Variable in class i2p.susi.webmail.Mail
unannounce(byte[]) - Method in interface org.klomp.snark.dht.DHT
  Remove reference to ourselves in the local tracker.
unchoke(Hash) - Method in class net.i2p.router.transport.udp.DummyThrottle
unchoke(Hash) - Method in interface net.i2p.router.transport.udp.OutboundMessageFragments.ActiveThrottle
unchoke(Hash) - Method in class net.i2p.router.transport.udp.TimedWeightedPriorityMessageQueue
UNCHOKE - Static variable in class org.klomp.snark.Message
unchokePeer() - Method in class org.klomp.snark.PeerCoordinator
unIgnoreEvents() - Method in class net.i2p.i2ptunnel.I2PTunnel
unIgnoreEvents() - Method in class net.i2p.i2ptunnel.I2PTunnelTask
unIgnoreEvents() - Method in interface net.i2p.util.EventDispatcher
  Almost like the method above :-)
unIgnoreEvents() - Method in class net.i2p.util.EventDispatcherImpl
uninstallargs - Variable in class net.i2p.router.startup.ClientAppConfig
UNINTERESTED - Static variable in class org.klomp.snark.Message
unknown - Static variable in class i2p.susi.webmail.Mail
UnknownCPUException - Exception in freenet.support.CPUInformation
UnknownCPUException() - Constructor for exception freenet.support.CPUInformation.UnknownCPUException
UnknownCPUException(String) - Constructor for exception freenet.support.CPUInformation.UnknownCPUException
UnknownI2NPMessage - Class in net.i2p.data.i2np
  This is the same as DataMessage but with a variable message type.
UnknownI2NPMessage(I2PAppContext, int) - Constructor for class net.i2p.data.i2np.UnknownI2NPMessage
unknownMessage(int, byte[]) - Method in class org.klomp.snark.PeerState
unknownMessageReceived(String, String, Properties) - Method in class net.i2p.sam.client.SAMClientEventListenerImpl
unknownMessageReceived(String, String, Properties) - Method in class net.i2p.sam.client.SAMEventHandler
unknownMessageReceived(String, String, Properties) - Method in interface net.i2p.sam.client.SAMReader.SAMClientEventListener
unloadControllers() - Method in class net.i2p.i2ptunnel.TunnelControllerGroup
  Stop and remove reference to all known tunnels (but dont delete any config file or do other silly things)
unlock() - Method in class org.cybergarage.upnp.Action
unlock() - Method in class org.cybergarage.upnp.ControlPoint
unlock() - Method in class org.cybergarage.upnp.Device
unlock() - Method in class org.cybergarage.upnp.Service
unlock() - Method in class org.cybergarage.util.Mutex
UNMASK - Static variable in class org.xlattice.crypto.filters.KeySelector
  AND with byte to expose index-many bits
unpromptedStoreReceived(boolean) - Method in class net.i2p.router.peermanager.DBHistory
  Note that the peer sent us a data point without us asking for it
unpublish(LeaseSet) - Method in class net.i2p.router.DummyNetworkDatabaseFacade
unpublish(LeaseSet) - Method in class net.i2p.router.NetworkDatabaseFacade
unpublish(LeaseSet) - Method in class net.i2p.router.networkdb.kademlia.KademliaNetworkDatabaseFacade
unregisterApp(String) - Static method in class net.i2p.router.web.NavHelper
unregisterConnection(ClientConnectionRunner) - Method in class net.i2p.router.client.ClientManager
unregisterHandlerJobBuilder(int) - Method in class net.i2p.router.InNetMessagePool
unregisterKeys(Destination) - Method in class net.i2p.router.KeyManager
unregisterListener(NamingServiceListener) - Method in class net.i2p.client.naming.MetaNamingService
unregisterListener(NamingServiceListener) - Method in class net.i2p.client.naming.NamingService
unregisterPending(OutNetMessage) - Method in class net.i2p.router.transport.OutboundMessageRegistry
unregisterPortMappings() - Method in class net.i2p.router.transport.UPnP
unregisterUpdater(NamingServiceUpdater) - Method in class net.i2p.client.naming.NamingService
unsentACKThresholdReached() - Method in class net.i2p.router.transport.udp.PeerState
unshitlist(Hash) - Method in class net.i2p.router.MessageHistory
  We unshitlisted the peer
unshitlist() - Method in class net.i2p.router.peermanager.PeerProfile
unshitlistRouter(Hash) - Method in class net.i2p.router.Shitlist
unshitlistRouter(Hash, String) - Method in class net.i2p.router.Shitlist
unsignedByteToShort(byte) - Static method in class net.i2p.time.NtpMessage
  Converts an unsigned byte to a short.
unsignedUpdateAvailable() - Method in class net.i2p.router.web.NewsFetcher
unsignedUpdateAvailable() - Method in class net.i2p.router.web.SummaryHelper
UnsignedUpdateHandler - Class in net.i2p.router.web
  Handles the request to update the router by firing off an `EepGet` call to download the latest unsigned zip file and displaying the status to anyone who asks.
UnsignedUpdateHandler(RouterContext, String, String) - Constructor for class net.i2p.router.web.UnsignedUpdateHandler
UnsignedUpdateHandler.UnsignedUpdateRunner - Class in net.i2p.router.web
  Eepget the .zip file to the temp dir, then copy it over
UnsignedUpdateHandler.UnsignedUpdateRunner() - Constructor for class net.i2p.router.web.UnsignedUpdateHandler.UnsignedUpdateRunner
unsignedUpdateVersion() - Method in class net.i2p.router.web.NewsFetcher
UNSUBSCRIBE - Static variable in class org.cybergarage.http.HTTP
unsubscribe(Service) - Method in class org.cybergarage.upnp.ControlPoint
unsubscribe(Device) - Method in class org.cybergarage.upnp.ControlPoint
unsubscribe() - Method in class org.cybergarage.upnp.ControlPoint
UNSUBSCRIBE_METHOD - Static variable in class org.cybergarage.upnp.event.Subscription
UP - Static variable in class i2p.susi.util.Folder
update(byte) - Method in class gnu.crypto.hash.BaseHashStandalone
update(byte[]) - Method in class gnu.crypto.hash.BaseHashStandalone
update(byte[], int, int) - Method in class gnu.crypto.hash.BaseHashStandalone
update(byte) - Method in interface gnu.crypto.hash.IMessageDigestStandalone
  Continues a message digest operation using the input byte.
update(byte[]) - Method in interface gnu.crypto.hash.IMessageDigestStandalone
  Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.
update(byte[], int, int) - Method in interface gnu.crypto.hash.IMessageDigestStandalone
  Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.
update(AddressBook, AddressBook, File, SubscriptionList, Log) - Static method in class net.i2p.addressbook.Daemon
  Update the router and published address books using remote data from the subscribed address books listed in subscriptions.
update(NamingService, File, SubscriptionList, Log) - Static method in class net.i2p.addressbook.Daemon
  Update the router and published address books using remote data from the subscribed address books listed in subscriptions.
update(Map<String, String>, String) - Static method in class net.i2p.addressbook.Daemon
  Run an update, using the Map settings to provide the parameters.
update(Properties) - Method in class net.i2p.addressbook.DaemonThread
  The NamingServiceUpdater interface
update(String, Destination, Properties) - Method in class net.i2p.client.naming.NamingService
  Fails if entry did not previously exist
update(Properties) - Method in interface net.i2p.client.naming.NamingServiceUpdater
  Should not block.
update(Map<String, Integer>) - Method in class net.i2p.router.transport.UPnPManager
  Call when the ports might have changed The transports can call this pretty quickly at startup, which can have multiple UPnP threads running at once, but that should be ok.
update() - Method in class net.i2p.router.web.PluginUpdateChecker.PluginUpdateCheckerRunner
update() - Method in class net.i2p.router.web.PluginUpdateChecker
  check all plugins
update(String) - Method in class net.i2p.router.web.PluginUpdateChecker
  check a single plugin
update() - Method in class net.i2p.router.web.PluginUpdateHandler.PluginUpdateRunner
update(String) - Method in class net.i2p.router.web.PluginUpdateHandler
update() - Method in class net.i2p.router.web.UnsignedUpdateHandler.UnsignedUpdateRunner
  Get the file
update() - Method in class net.i2p.router.web.UnsignedUpdateHandler
update() - Method in class net.i2p.router.web.UpdateHandler
update() - Method in class net.i2p.router.web.UpdateHandler.UpdateRunner
  Loop through the entire list of update URLs.
update(byte) - Method in interface org.bouncycastle.crypto.Digest
  update the message digest with a single byte.
update(byte[], int, int) - Method in interface org.bouncycastle.crypto.Digest
  update the message digest with a block of bytes.
update(byte) - Method in class org.bouncycastle.crypto.digests.GeneralDigest
update(byte[], int, int) - Method in class org.bouncycastle.crypto.digests.GeneralDigest
update(byte) - Method in interface org.bouncycastle.crypto.Mac
  add a single byte to the mac for processing.
update(byte[], int, int) - Method in interface org.bouncycastle.crypto.Mac
update(byte) - Method in class org.bouncycastle.crypto.macs.I2PHMac
update(byte[], int, int) - Method in class org.bouncycastle.crypto.macs.I2PHMac
UPDATE_FILE - Static variable in class net.i2p.router.Router
updateAcks(PacketLocal) - Method in class net.i2p.client.streaming.MessageInputStream
updateActivity() - Method in class net.i2p.client.I2PSessionImpl
updateAddress() - Method in interface net.i2p.router.transport.Transport
updateAddress() - Method in class net.i2p.router.transport.TransportImpl
  Ask the transport to update its address based on current information and return it Transports should override.
updateAddress() - Method in class net.i2p.router.transport.udp.UDPTransport
  Rebuild to get updated cost and introducers.
updateAvailable() - Method in class net.i2p.router.web.ConfigUpdateHelper
updateAvailable() - Method in class net.i2p.router.web.NewsFetcher
updateAvailable() - Method in class net.i2p.router.web.SummaryHelper
  public String getPRNGStatus() { Rate r = _context.statManager().getRate("prng.bufferWaitTime").getRate(60*1000); int use = (int) r.getLastEventCount(); int i = (int) (r.getAverageValue() + 0.5); if (i <= 0) { r = _context.statManager().getRate("prng.bufferWaitTime").getRate(10*60*1000); i = (int) (r.getAverageValue() + 0.5); } String rv = i + "/"; r = _context.statManager().getRate("prng.bufferFillTime").getRate(60*1000); i = (int) (r.getAverageValue() + 0.5); if (i <= 0) { r = _context.statManager().getRate("prng.bufferFillTime").getRate(10*60*1000); i = (int) (r.getAverageValue() + 0.5); } rv = rv + i + "ms"; // margin == fill time / use time if (use > 0 && i > 0) rv = rv + ' ' + (60*1000 / (use * i)) + 'x'; return rv; }
updateBandwidth(I2PSessionImpl) - Method in class net.i2p.client.I2CPMessageProducer
  Update the bandwidth setting
updateConfig(String, boolean, String, String, String, String, String, String, String, String, String, boolean, String, String) - Method in class org.klomp.snark.SnarkManager
updateExploreSchedule() - Method in class net.i2p.router.networkdb.kademlia.StartExplorersJob
  the exploration has found some new peers - update the schedule so that we'll explore appropriately.
updateFrequency(String) - Method in class net.i2p.stat.StatManager
  update the given frequency statistic, taking note that an event occurred (and recalculating all frequencies)
UpdateHandler - Class in net.i2p.router.web
  Handles the request to update the router by firing one or more `EepGet` calls to download the latest signed update file and displaying the status to anyone who asks.
UpdateHandler() - Constructor for class net.i2p.router.web.UpdateHandler
UpdateHandler(RouterContext) - Constructor for class net.i2p.router.web.UpdateHandler
UpdateHandler.UpdateRunner - Class in net.i2p.router.web
UpdateHandler.UpdateRunner() - Constructor for class net.i2p.router.web.UpdateHandler.UpdateRunner
updateListeningPort(DatagramSocket, int) - Method in class net.i2p.router.transport.udp.UDPReceiver
  Replace the old listen port with the new one, returning the old.
updateListeningPort(DatagramSocket, int) - Method in class net.i2p.router.transport.udp.UDPSender
updateMessageDeliveryStatus(MessageId, boolean) - Method in class net.i2p.router.client.ClientConnectionRunner
  Send a notification to the client that their message (id specified) was delivered (or failed delivery) Note that this sends the Guaranteed status codes, even though we only support best effort.
updateOptions(Properties) - Method in interface net.i2p.client.I2PSession
  Does not remove properties previously present but missing from this options parameter.
updateOptions(Properties) - Method in class net.i2p.client.I2PSessionImpl
  Update the tunnel and bandwidth settings
updateOptions(Properties) - Method in class net.i2p.client.I2PSimpleSession
  Ignore, does nothing
updateOptsFromShare(Connection) - Method in class net.i2p.client.streaming.ConnectionManager
updateOptsFromShare(Connection) - Method in class net.i2p.client.streaming.TCBShare
updateParticipatingStats(int) - Method in class net.i2p.router.tunnel.TunnelDispatcher
  Generate a current estimate of usage per-participating-tunnel lifetime.
updatePiecePriorities() - Method in class org.klomp.snark.PeerCoordinator
  Maps file priorities to piece priorities.
updatePiecePriorities() - Method in class org.klomp.snark.Snark
updateRate() - Method in class net.i2p.router.tunnel.pool.TunnelPool
updateRTT(int) - Method in class net.i2p.client.streaming.ConnectionOptions
updateShareOpts() - Method in class net.i2p.client.streaming.Connection
updateShareOpts(Connection) - Method in class net.i2p.client.streaming.ConnectionManager
updateShareOpts(Connection) - Method in class net.i2p.client.streaming.TCBShare
updateStats(Job, long, long, long) - Method in class net.i2p.router.JobQueue
  calculate and update the job timings if it was lagged too much or took too long to run, spit out a warning (and if its really excessive, kill the router)
updateStatus(String) - Method in class net.i2p.router.web.PluginUpdateHandler
updateStatus(String) - Method in class net.i2p.router.web.UpdateHandler
updateStatus(Snark) - Method in interface org.klomp.snark.Snark.CompleteListener
updateStatus(Snark) - Method in class org.klomp.snark.SnarkManager
  A Snark.CompleteListener method.
updateTunnels(I2PSessionImpl, int) - Method in class net.i2p.client.I2CPMessageProducer
  Update number of tunnels
updateTunnelTestTimeAverage(long) - Method in class net.i2p.router.peermanager.PeerProfile
updateVersion() - Method in class net.i2p.router.web.NewsFetcher
uploaded(int) - Method in class org.klomp.snark.Peer
  Increment the counter.
uploaded(Peer, int) - Method in class org.klomp.snark.PeerCoordinator
  Called when a peer has uploaded some bytes of a piece.
uploaded(Peer, int) - Method in interface org.klomp.snark.PeerListener
  Called when a (partial) piece has been uploaded to the peer.
uploaded(int) - Method in class org.klomp.snark.PeerState
  Called when some bytes have left the outgoing connection.
uploaders - Variable in class org.klomp.snark.PeerCoordinator
  Approximation of the number of current uploaders.
UPnP - Class in net.i2p.router.transport
  This (and all in org/freenet, org/cybergarage, org/xmlpull) grabbed from freenet SVN, mid-February 2009 by zzz.
UPnP(I2PAppContext) - Constructor for class net.i2p.router.transport.UPnP
UPnP - Class in org.cybergarage.upnp
UPnP() - Constructor for class org.cybergarage.upnp.UPnP
UPNP_ERROR - Static variable in class org.cybergarage.soap.SOAP
UPNP_ROOTDEVICE - Static variable in class org.cybergarage.upnp.Device
UPnPManager - Class in net.i2p.router.transport
  Bridge from the I2P RouterAddress data structure to the freenet data structures
UPnPManager(RouterContext, TransportManager) - Constructor for class net.i2p.router.transport.UPnPManager
UPnPStatus - Class in org.cybergarage.upnp
UPnPStatus() - Constructor for class org.cybergarage.upnp.UPnPStatus
UPnPStatus(int, String) - Constructor for class org.cybergarage.upnp.UPnPStatus
urlencode(byte[]) - Static method in class org.klomp.snark.TrackerClient
  Very lazy byte[] to URL encoder.
UrlLauncher - Class in net.i2p.apps.systray
  A quick and simple multi-platform URL launcher.
UrlLauncher() - Constructor for class net.i2p.apps.systray.UrlLauncher
URN_DEVICE - Static variable in class org.cybergarage.upnp.device.ST
URN_SERVICE - Static variable in class org.cybergarage.upnp.device.ST
USE_DOUBLE_IV_ENCRYPTION - Static variable in class net.i2p.router.tunnel.HopProcessor
  as of i2p 0.6, the tunnel crypto will change by encrypting the IV both before and after using it at each hop so as to prevent a certain type of replay/confirmation attack.
USE_ENCRYPTION - Static variable in class net.i2p.router.tunnel.HopProcessor
  helpful flag for debugging
USE_ENCRYPTION - Static variable in class net.i2p.router.tunnel.InboundEndpointProcessor
USE_ENCRYPTION - Static variable in class net.i2p.router.tunnel.InboundSender
USE_ENCRYPTION - Static variable in class net.i2p.router.tunnel.OutboundGatewayProcessor
USE_ENCRYPTION - Static variable in class net.i2p.router.tunnel.OutboundSender
USE_IPV6_ADMINISTRATIVE_SCOPE - Static variable in class org.cybergarage.upnp.UPnP
USE_IPV6_GLOBAL_SCOPE - Static variable in class org.cybergarage.upnp.UPnP
USE_IPV6_LINK_LOCAL_SCOPE - Static variable in class org.cybergarage.upnp.UPnP
USE_IPV6_SITE_LOCAL_SCOPE - Static variable in class org.cybergarage.upnp.UPnP
USE_IPV6_SUBNET_SCOPE - Static variable in class org.cybergarage.upnp.UPnP
USE_LOOPBACK_ADDR - Static variable in class org.cybergarage.net.HostInterface
USE_LOOPBACK_ADDR - Static variable in class org.cybergarage.upnp.UPnP
USE_ONLY_IPV4_ADDR - Static variable in class org.cybergarage.net.HostInterface
USE_ONLY_IPV4_ADDR - Static variable in class org.cybergarage.upnp.UPnP
USE_ONLY_IPV6_ADDR - Static variable in class org.cybergarage.net.HostInterface
USE_ONLY_IPV6_ADDR - Static variable in class org.cybergarage.upnp.UPnP
USE_SSDP_SEARCHRESPONSE_MULTIPLE_INTERFACES - Static variable in class org.cybergarage.upnp.UPnP
user - Variable in class i2p.susi.webmail.WebMail.SessionObject
USER_AGENT - Static variable in class net.i2p.util.EepGet
  this will be replaced by the HTTP Proxy if we are using it
USN - Static variable in class org.cybergarage.http.HTTP
USN - Class in org.cybergarage.upnp.device
USN() - Constructor for class org.cybergarage.upnp.device.USN
UTF8StringBytes - Class in net.metanotion.io.data
  Added by I2P
UTF8StringBytes() - Constructor for class net.metanotion.io.data.UTF8StringBytes
util() - Method in class org.klomp.snark.SnarkManager
  hook to I2PSnarkUtil for the servlet
UUID - Static variable in class org.cybergarage.upnp.event.Subscription
UUID_DEVICE - Static variable in class org.cybergarage.upnp.device.ST

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV LETTER NEXT LETTER | FRAMES NO FRAMES

A B C D E F G H I J K L M N O P Q R S T U V W X Y _